Python分类测试的方法

  介绍

这篇文章主要讲解了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分类测试的方法