介绍
这篇文章主要讲解了Python分类测试的方法,内容清晰明了,对此有兴趣的小伙伴可以学习一下,相信大家阅读完之后会有帮助。
1。自动化测试里面的测试用例设计的一些方法
解耦,可以独立运行,需要灵活切换
设计思路:脚本功能分析(分步骤)和模块化分层(拆分为多模块)
项目
login_order。py #登录下单测试用例
类别。py #菜单分类测试用例all_test。py #主入口
引用>login_order。py
# - * -编码:utf - 8 - * 进口unittest 导入的时间 从硒进口webdriver 从进口睡眠时间 从selenium.webdriver.common.action_chains进口ActionChains 类LoginOrderTestCase (unittest.TestCase): def设置(自我): print(“测试开始“) 自我。司机=webdriver.Firefox () self.driver.implicitly_wait (20) 自我。base_url=癶ttps://xdclass.net" self.driver.get (self.base_url) def拆卸(自我): print(“单个测试用例结束“) 通过 #单个测试用例结束 def test_login_order(自我): u"登录测试用例“; 司机=self.driver #登录框 login_ele=driver.find_element_by_css_selector (“# login") ActionChains(司机).click (login_ele) .perform () 睡眠(2) #查找输入框,输入账号,输入框要提前清理里面的数据 driver.find_element_by_id (“phone") .clear () driver.find_element_by_id (“phone") .send_keys (“13113777338”) #查找密码输入框,输入密码 driver.find_element_by_id (“pwd") .clear () driver.find_element_by_id (“pwd") .send_keys (“123456789”) #拿到登录按钮 login_btn_ele=driver.find_element_by_css_selector (“button.login") #触发点击事件,登录 login_btn_ele.click () #判断登陆是否成功,逻辑——》鼠标移到上面,判断弹窗字符 #获取鼠标上移的元素 user_info_ele=driver.find_element_by_css_selector (“.user_head_portrait") 睡眠(1) #悬浮触发 ActionChains(司机).move_to_element (user_info_ele) .perform () 睡眠(1) #获取用户名称元素 user_name_ele=driver.find_element_by_css_selector (“。img_name祝辞跨度:nth-child (2)“) 打印(“===测试结果==? 打印(user_name_ele.text) name=user_name_ele.text #自我。assertEqual(名称、u"二当家小D",味精=暗锹际О堋? video_ele=driver.find_element_by_css_selector (“div.hotcourses: nth-child(3)比;div: nth-child(2)比;在div: nth-child (1);ul: nth-child(1)比;李:nth-child(1)比;答:nth-child(1)比;在div: nth-child (1);img: nth-child (1)“) video_ele.click () 睡眠(2) buy_btn_ele=driver.find_element_by_css_selector (“。learn_btn祝辞答:nth-child (1)“) buy_btn_ele.click () print(“进入下单页面“) if __name__==& # 39; __main__ # 39;: unittest.main ()类别。py
# - * -编码:utf - 8 - * 进口unittest 导入的时间 从硒进口webdriver 从进口睡眠时间 从selenium.webdriver.common.action_chains进口ActionChains 类CategoryTestCase (unittest.TestCase): def设置(自我): print(“测试开始“) 自我。司机=webdriver.Firefox () self.driver.implicitly_wait (20) 自我。base_url=癶ttps://xdclass.net" self.driver.get (self.base_url) def拆卸(自我): print(“测试结束“) #单个测试用例结束 self.driver.quit () def test_menu(自我): u"弹出菜单测试用例“; 司机=self.driver #跳转网页 睡眠(1) #定位到鼠标移动到上面的元素 menu_ele=driver.find_element_by_css_selector (“# banner_left_ul比;答:nth-child(1)比;李:nth-child(1)比;跨度:nth-child (1)“) #对定位到的元素执行鼠标移动到上面的操作 ActionChains(司机).move_to_element (menu_ele) .perform () 睡眠(2) #选中子菜单 sub_meun_ele=driver.find_element_by_css_selector (“# des比;李:nth-child(1)比;在div: nth-child (1);在div: nth-child (1);div: nth-child(2)比;答:nth-child (1)“) sub_meun_ele.click () 睡眠(2) if __name__==& # 39; __main__ # 39;: unittest.main ()all_test。py
# - * -编码:utf - 8 - * 进口unittest 进口HTMLTestRunner 进口login_order、类别 导入的时间 #创建测试集合 def create_suite (): print(“测试开始“) 套件=unittest.TestSuite () suite.addTest (unittest.makeSuite (login_order.LoginOrderTestCase)) suite.addTest (unittest.makeSuite (category.CategoryTestCase)) 回归套件 if __name__==& # 39; __main__ # 39;: 套件=create_suite () #文件名中加了当前时间,为了每次生成不同的测试报告 file_prefix=time.strftime (“Y % - % - % d % H_ % M_ % S", time.localtime ()) #创建测试报告,此时这个文件还是空文件世行以二进制格式打开一个文件,只用于写入,如果文件存在则覆盖,不存在则创建 fp=开放(“。/? file_prefix +“_result.html",“wb") #流定义一个测试报告写入的文件,标题就是标题,描述就是描述 跑步者=HTMLTestRunner。HTMLTestRunner(流=fp、标题=u"小D课堂测试报告“,描述=u"测试用例执行情况“,冗长=2) runner.run(套房) fp.close ()Python分类测试的方法