f.username_top).text
test_login.py
1 import unittest
2 from selenium import webdriver
3 from seleniumframework.PO.login_page import LoginPage
4 import time
5
6 class TestBaiduLogin(unittest.TestCase):
7 """UI自动化登录"""
8 def setUp(self):
9 self.url = "http://www.baidu.com"
10 self.driver = webdriver.Firefox()
11 self.driver.implicitly_wait(20)
12 # self.verificationErrors = []
13
14 def tearDown(self):
15 time.sleep(5)
16 self.driver.quit()
17 # self.assertEqual([],self.verificationErrors)
18
19 def test_login(self):
20 """百度登录"""
21 sp = LoginPage(self.driver)
22 sp.open(self.url)
23 sp.click_link()
24 sp.run_case("hanxiaobei","xxxxxxx")
25 self.assertEqual(sp.get_username(),"hanxiaobei",msg="验证失败!")
main.py 运行的主入口
1 import unittest
2 import HTMLTestRunner
3
4 #相对路径
5 testcase_path = ".\\testcase"
6 report_path = ".\\report\\report.html"
7 def creat_suite():
8 uit = unittest.TestSuite()
9 discover = unittest.defaultTestLoader.discover(testcase_path,pattern="test_*.py")
10 for test_suite in discover:
11 # print(test_suite)
12 for test_case in test_suite:
13 uit.addTest(test_case)
14 return uit
15
16 suite = creat_suite()
17 fp = open(report_path,"wb")
18 runner = HTMLTestRunner.HTMLTestRunner(stream=fp,title="测试结果",description="测试搜索结果")
19 runner.run(suite)
20 fp.close()
解决报告命名的问题:
1 now = time.strftime("%Y-%m-%d-%H-%M-%S",time.localtime(time.time()))
2 print(now)
3 report_path = ".\\report\\"+now+"report.html"
测试报告截图:
search_page.py
1 from selenium.webdriver.common.by import By
2 from seleniumframework.PO import base_page
3
4 #继承base后既可以调用base的方法也可自己添加新的方法
5 class SearchPage(base_page.Action):
6
7 #通过id进行定位元素
8 search_loc = (By.ID,"kw")
9
10 def run_case(self,value):
11 #第一种利用原生的send_keys方法
12 self.find_element(*self.search_loc).send_keys(value)
13
14 #第二种利用二次封装的send_keys方法
15 # self.send_keys(self.search_loc,value)
test_search.py
1 import unittest
2 from selenium import webdriver
3 from seleniumframework.PO.search_page import SearchPage
4 import time
5
6 class TestBaiduSearch(unittest.TestCase):
7 """UI自动化搜索"""
8 def setUp(self):
9 self.url = "http://www.baidu.com"
10 self.driver = webdriver.Firefox()
11 self.driver.implicitly_wait(20)
12 self.verificationErrors = []
13
14 def tearDown(self):
15 time.sleep(5)
16 self.driver.quit()
17 self.assertEqual([],self.verificationErrors)
18
19 def test_search(self):
20 """搜索测试关键字"""
21 sp = SearchPage(self.driver)
22 sp.open(self.url)
23 sp.run_case("测试")