范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

web自动化测试实战之批量执行测试用例

  一、实战之分离测试固件
  在UI 自动化测试中,不管编写哪个模块的测试用例,都需要首先在测试类中编写测试固件初始化WebDriver类及打开浏览器,执行登录,才能进行下一步业务逻辑的操作,测试用例执行完成后还需要关闭浏览器,这部分的代码如下: import unittest from selenium import webdriver import time, os  class InitTest(unittest.TestCase):     @classmethod     def setUpClass(cls):         #print("start!进入初始化环境")         cls.dr = webdriver.Chrome()         cls.dr.maximize_window()         #print("测试浏览器为:{0}".format(cls.dr.name))         time.sleep(1)         ulr1 = "http://*******.****.com.cn"      @classmethod     def tearDownclass(cls):         cls.dr.quit()
  在每一个测试类中都要编写以上代码,因此需要重复编写很多代码。是否可以把测试固件这部分代码分离出去,测试类直接继承分离出去的类呢?我们把测试固件分离到项目中,新建文件名称为 public_XF_login.py  类名为:InitTest  import unittest from selenium import webdriver import time, os  class InitTest(unittest.TestCase):     @classmethod     def setUpClass(cls):         #print("start!进入初始化环境")         cls.dr = webdriver.Chrome()         cls.dr.maximize_window()         #print("测试浏览器为:{0}".format(cls.dr.name))         time.sleep(1)         ulr1 = "http://********.com.cn"         #(u"访问测试环境后台管理系统")         cls.dr.get(ulr1)         #print("测试地址为:{0}".format(cls.dr.current_url))         time.sleep(1)         xpath = cls.dr.find_element_by_xpath         #点击账号登录,输入用户名+密码         xpath("//*[@id="app"]/p/p[2]/p[2]/p/p[1]/p").click()         time.sleep(1)         # 捕捉账号文本栏,进行输入账号         xpath("//*[@id="app"]/p/p[2]/p[2]/p/form/p[1]/input").send_keys(u"********")         time.sleep(1)         # 捕捉密码文本栏,进行输入密码         xpath("//*[@id="app"]/p/p[2]/p[2]/p/form/p[2]/input").send_keys(u"*******")         time.sleep(1)         #点击登录         xpath("//*[@id="app"]/p/p[2]/p[2]/p/form/p[3]/input").click()      @classmethod     def tearDownclass(cls):         cls.dr.quit()
  from test_python.public_XF_login import InitTest  在需要引用该类的文件先进行引用该类,测试类进行继承InitTest ,继承后,在测试类中直接编写要执行的测试用例,例如(该2条case是小编实际项目的自动化代码,各位可以也拿)case001_验证登录是否成功,代码如下: # -*-coding=utf-*- import time import unittest from test_python.public_XF_login import InitTest   class Admin(InitTest):     def testCase_001(cls):         """验证用户是否登录成功"""         cls.assertEqual("http://********.com.cn/#/", cls.dr.current_url)         time.sleep(1)         cls.dr.quit()  if __name__ == "__main__":     unittest.main(verbosity=2)
  from test_python.public_XF_login import InitTest  在需要引用该类的文件先进行引用该类,测试类进行继承 InitTest ,继承后,在测试类中直接编写要执行的测试用例,例如case002_验证登录是否成功,代码如下: # coding=utf-8 import time import unittest from test_python.public_XF_login import InitTest  class Admin(InitTest):     def testCase_002(cls):         """进入门店评分报表页面_验证门店查看明细功能"""         xpath = cls.dr.find_element_by_xpath         time.sleep(2)         #进入门店评分报表页面         xpath("/html/body/section/section/aside/ul/li[3]/span").click()         time.sleep(1)         #刷新门店评分报表页         cls.dr.refresh()         time.sleep(5)         #点击列表第一页,第五行门店的查看按钮,进入评分信息详情"         xpath("/html/body/section/section/section/main/p[2]/p/p/p[2]/p[2]/p[1]/p[3]/table/tbody/tr[5]/td[10]/p/button/span").click()         #断言门店详情页面制定元素是否展示的为神秘访客 判断页面是否成功跳转到详情页         text = xpath("/html/body/section/section/section/main/p[2]/p/p/p[2]/p[2]/p/p[1]/p[1]/p[1]").text         cls.assertEqual(u"神秘顾客", text)         time.sleep(1)         cls.dr.quit()         #Case_002执行完毕关闭浏览器   if __name__ == "__main__":     unittest.main(verbosity=2)
  注解:首先需要导入public_XF_login.py  模块中的InitTest 类,测试类 Admin  继承InitTest 类。这样执行测试类后,会先执行setUpClass 方法,再执行具体的测试用例,最后执行tearDownclass  方法。python 的类继承的方式解决了在每个测试类中都需要编写测试固件的问题。把测试固件分离出去后,即使后期测试地址发生变化,只需要修改public_XF_login.py  模块中InitTest 类中的 url 地址即可,而不需要在每个测试类修改测试地址,减少了编写重复性代码的开销。分离了测试固件,运行以上代码,对应的测试用例执行通过。 二、实战之批量执行测试用例
  在实际测试中,常常需要批量执行测试用例。例如,在testCase 包中有 case001_login.py  和 case002_Score_report.py  两个文件,下面批量执行这两个模块的测试用例。创建新文件 test_case_suite.py ,在 test_case_suite.py 文件中编写批量执行的代码,测试用例的代码跟上面文件中的一致,目录大概如下
  接着我们在创建 AllTest.py  我们来看看如何进行调用全部的测试用例,如下代码就可以实现 #-*-coding=utf-8-*- import unittest import os  def AllTest():     """获取所有的测试模块"""     suite=unittest.TestLoader().discover(         start_dir=os.path.dirname("F:python3python_codetest_case_suite"),         pattern="case*.py",         top_level_dir=None)     return suite  if __name__ == "__main__":     unittest.TextTestRunner(verbosity=2).run(AllTest())
  注解:在以上代码中,批量获取测试模块用到的方法是 discover。discover方法有三个参数,第一个参数 start_dir是测试模块的路径,存放在testCase包中;第二个参数pattern用来获取testCase包中所有以test开头的模块文件,会获取到test_baidu.py和test_sina.py;第三个参数 top_level_dir 在调用的时候直接给默认值None。我们执行 AllTest.py  文件执行代码如下,这就是批量化执行case.
  后面我会在基于这集中测试方法上,补充一些可优化的点,最近工作比较繁忙,会抽空给大家分享好文,持续分享持续输出,希望本文对你们会有所帮助,也欢迎大家支持小编,进行分享,广而告之.
  最后我也整理了一些软件测试学习资料,对于学软件测试的小伙伴来说应该会很有帮助,为了更好地整理每个模块
  需要的私信我关键字【555】免费获取哦 注意关键字是:555
  全套软件测试自动化测试教学视频
  300G教程资料下载【视频教程+PPT+项目源码】
  全套软件测试自动化测试大厂面经

黄花呈祥国营黄花农场由黄花场直青山分场花海分场3片不相连结的土地组成,场部设在黄花滩,与甘新公路相通,距玉门市23公里。古代,这里并不荒凉,它被称之为浩瀚戈壁中的绿洲。古代,黄花青山花海均江苏小伙去云南旅游,点了四道菜,结账时不敢相信,老板没坑人云南,一个人杰地灵地方,被无数人称之为人间桃源。也是很多人心之所往的旅游胜地。无论是气势巍峨的玉龙雪山还是美如画卷的洱海都十分的令人着迷。江苏小伙邱晨就是一个典型的文艺青年,云南是瑞士最负盛名的度假区之一格劳宾登瑞士格劳宾登州旅游局瑞士是欧洲的老牌旅游胜地,这是大家都知道的。但若没有YodelAyHeeHoo项目,大概很多人不会记住格劳宾登这个地名。格劳宾登是瑞士最负盛名的度假区之一,高山疗养院国家公园冰川快中国小伙赴朝鲜旅游,在朝鲜平壤所见所闻到朝鲜旅游虽然只有短短四天的时间。但在平壤的所见所闻,让我感触很深。我们导游说,朝鲜早就实行了免费的十二年义务教育,朝鲜人看病不用花钱,住房也不需要花钱。走在平壤街头,你也会发现这旅游8天吃胖5斤,云南,不愧是你之所以去云南,最初目标只是为了避暑。今夏的酷热把每个南方人折磨得苦不堪言,还没入中伏,在日日40多度的高温里,我跟朋友摊开中国地图,试图寻找一个能让我们暂时逃离火炉的去处,最终将目刘诗雯有望重返奥运?刘国梁的安排,有深远含义刘诗雯有望重返奥运?刘国梁的安排,有深远含义球迷都知道目前,中国乒乓球在世界的地位,并没有在之前几年那么巩固,而且在男单方面尤其显得更为的突出,在最近几次世界大赛的比赛中,中国男单多特蒙德反超拜仁登顶德甲榜首,今年能夺冠?多特蒙德10霍村德甲第5轮先赛一场,33岁队长罗伊斯打进全场唯一进球,最终多特蒙德主场10战胜霍芬海姆,取得2连胜。第16分钟,布兰特送出助攻,罗伊斯在禁区左侧爆射破门,多特蒙德在主场取得10领先姚明健康引担忧!42岁体重400斤,亮相球赛体型臃肿,赘肉突出9月3日,姚明作为中国篮球过去几十年的代表,引领着中国篮球进入一个新的时代,无疑是中国历史上最伟大的球员。退役之后,姚明并没有远离篮球,继续在为中国篮球做贡献,成功担任了中国篮协主中午12点!前国脚做出争议表态中国足球成大笑话,球迷吐槽声一片北京时间9月3日中午12点,针对成都蓉城外援萨尔达尼亚在对阵长春亚泰的比赛中做出双脚踩球动作,前国脚杜震宇在个人社交平台上进行了评论,他表示这是侮辱球队和俱乐部的行为,而这样的表态四强出炉!两位世界冠军被淘汰,张本智和晋级,伊藤美诚遭遇劲敌2022年9月3日消息,日本乒乓球奥运选拔赛四强出炉,两位世界冠军吉村真晴平野美宇被淘汰,伊藤美诚再战早田希娜,成为大家关注的焦点,张本智和跟搭档木造勇人展开较量。女单早田希娜40杜兰特首次回到俄城,手撕老东家,威少带队重拳欢迎在西部决赛中被库里的球队逆转翻盘的凯文杜兰特为了追逐总冠军,冒天下之大不韪加入了刚刚击败自己的金州勇士,也许是感觉难以向昔日战友解释自己的选择,杜兰特在做出离开的决定时并没有第一时
腾讯2022年游戏盗号量上涨300DDoS攻击全行业最高12月16日,2022游戏安全行业峰会上,腾讯安全联合腾讯游戏安全广东省游戏产业协会发布了2022游戏安全白皮书。白皮书指出,2022年日均中马量级较2021年上涨逾300,单日最上海18所高校的135支队伍比拼工程实践与创新能力生活垃圾智能分类。上海交大供图中新网上海12月18日电(王佳莹高璐许婧)新能源车重走长征路智能助力垃圾分类包括上海交通大学同济大学上海大学上海师范大学上海海事大学等在内的18所上海核聚变火箭可以使人类成为星际物种目前,人类在寻求成为行星际物种的过程中受到交通问题的限制。寻求替代污染能源(例如燃烧石化燃料)的绿色技术的进步也在航天领域取得了进展。核聚变被认为是我们能源问题的明确答案,是所有能时间定了!油价即将调整12月19日24时,国内新一轮成品油调价窗口将开启。本轮调价将是2022年国内油价最后一调。继上轮成品油价格两连跌后,机构预计,本轮成品油价格或继续下跌,国内油价在年末将呈三连跌走油价即将调整!今年最后一次这个周末,想要加油的朋友一定等一等!国内油价有可能继续下调。12月19日(下周一)24时,国内新一轮成品油调价窗口即将开启,这也是2022年的最后一次调价窗口。此前,国内油价已经二徐石破解数字化转型之困数字化转型升级的本质是高效运营。文中国企业家记者邓双琳编辑李薇头图来源中企图库12月10日11日,由中国企业家杂志社主办的第二十届中国企业领袖年会暨第二十二届中国企业未来之星年会隆2023年养老金还会继续调整吗?有没有人能涨到500元以上?不知不觉间,2023年即将到来。很多退休老人关注明年的养老金还会增长吗?如果继续增长的话,能涨多少呢?退休老人能不能涨到500元?让我们仔细分析。2023年的养老金会继续增长。每年在阿坝,get阿凡达水之道同款美景!12月16日影迷们期盼已久的阿凡达水之道正式上映收获了火爆的人气影片中神秘蔚蓝深海奇幻瑰丽的风光每一帧都是绝美大片让人心驰神往无限憧憬你知道吗?影片中的潘多拉星美轮美奂的景致其实离(社会)第24届哈尔滨冰雪大世界试开园当日,第24届哈尔滨冰雪大世界迎来试开园。12月17日,游客在哈尔滨冰雪大世界园区游览(无人机照片)。新华社记者王松摄12月17日,游客在哈尔滨冰雪大世界园区游览拍照。新华社记者王这么近那么美周末到河北沕沕水晶莹剔透的冰瀑世界流光溢彩的童话乐园这么近那么美周末到河北头条带你乐享河北河北惠民演出季沕沕水随着天气的逐渐降温,沕沕水的冰瀑已具备观赏规模。到沕沕水观赏白天晶莹剔透的冰瀑大世界,领略晚上流光溢彩的童话乐园。观赏美景名记称湖人有机会得到比尔威少两首轮报价奇才造新三巨头冲冠北京时间12月18日,名记ZachLowe在节目上表示,湖人有机会得到奇才球星比尔,而威少两个首轮是他们可以尝试的报价筹码。此前,湖人跟队记者JovanBuha表示,如果杜兰特比尔