当前位置: 首页 > news >正文

【功能自动化】自动识别测试用例

1.创建unitWebtours.py

将unitWebtours.py放在test文件夹下

unitWebtours.py

代码实现

from selenium import webdriver
from selenium.webdriver.support.select import Select
from time import sleep
import unittestdriver = Noneclass Webtours(unittest.TestCase):@classmethoddef setUpClass(cls):global driverdriver = webdriver.Chrome()@classmethoddef tearDownClass(cls):driver.quit()def test1OpenWeb(self):u'''打开网站'''driver.get("http://127.0.0.1:1080/WebTours/")# 等待3秒sleep(3)driver.switch_to.default_content()driver.switch_to_frame("body")driver.switch_to_frame("info")actual = driver.find_element_by_tag_name("body").text# expect = 'Welcome to the Web Tours site.'# # 精确匹配用in 否则用in # if expect in actual:#     print("打开网站:成功")# else:#     print("打开网站:失败") def test2Loginin(self):u'''登录'''driver.switch_to.default_content()driver.switch_to_frame("body")driver.switch_to_frame("navbar")# 登录yhm = 'admin'mm = '123456'# 输入用户名driver.find_element_by_name("username").send_keys(yhm)# 输入密码driver.find_element_by_name("password").send_keys(mm)# 点击登录driver.find_element_by_name("login").click()sleep(3)# 切换框架driver.switch_to.default_content()driver.switch_to_frame("body")driver.switch_to_frame("info")expect = "Welcome, "+yhmactual = driver.find_element_by_tag_name("body").text# # 精确匹配用in 否则用in # if expect in actual:#     print("登录:成功")# else:#     print("登录:失败")def test3Search(self):u'''搜票'''driver.switch_to.default_content()driver.switch_to_frame("body")driver.switch_to_frame("navbar")driver.find_element_by_xpath('//img[@alt="Search Flights Button"]').click()sleep(3)def test4Book(self):u'''订票'''# 预定票driver.switch_to.default_content()driver.switch_to_frame("body")driver.switch_to_frame("info")Select(driver.find_element_by_name("depart")).select_by_visible_text="London"# select_by_value 值是看不见的Select(driver.find_element_by_name("arrive")).select_by_visible_text="Paris"driver.find_element_by_name("findFlights").click()sleep(1)# 查看预定的航班信息driver.find_elements_by_name("outboundFlight")[0].click()driver.find_element_by_name("reserveFlights").click()sleep(1)# 支付信息driver.find_element_by_name("buyFlights").click()sleep(1)# 切换框架expect = "Flight 240 leaves London for Paris"actual = driver.find_element_by_tag_name("body").text# 精确匹配用in 否则用in # if expect in actual:#     print("订票:成功")# else:#     print("订票:失败")#预定下一个driver.find_element_by_name("Book Another").click()sleep(1)def test5Logoff(self):u'''注销'''# 切换框架driver.switch_to.default_content()driver.switch_to_frame("body")driver.switch_to_frame("navbar")driver.find_element_by_xpath('//img[@alt="SignOff Button"]').click()sleep(1)# 切换框架driver.switch_to.default_content()driver.switch_to_frame("body")driver.switch_to_frame("info")expect = "sign up now"actual = driver.find_element_by_tag_name("body").text# 精确匹配用in 否则用in # if expect in actual:#     print("注销:成功")# else:#     print("注销:失败")if __name__=="__main__":# verbosity=2 显示详细信息,可以省略,测试信息不详细unittest.main(verbosity=2)

2.使用测试套件运行测试函数

代码实现

import unittestsuite = unittest.TestSuite()
tests = unittest.defaultTestLoader.discover('./test',pattern='unit*.py')
suite.addTests(tests)
runner = unittest.TextTestRunner(verbosity=2)
runner.run(suite)

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • zdppy+vue3+onlyoffice文档管理系统实战 20240829上课笔记 Python验证码框架完成
  • Python统计FreeMind测试用例数量
  • C语言阴阳迷宫
  • SparkShop开源商城 uploadFile 任意文件上传漏洞复现
  • LabVIEW项目中硬件选型与长期需求沟通
  • OSI七层模型中的数据链路层
  • 图像数据处理25
  • MySQL数据库用户管理和授权
  • 突发性网络攻击的安全挑战分析
  • 微软DP420认证,涉及SQL,C#,Java
  • Apache Kafka 简介、使用场景及特点
  • day-43 盛最多水的容器
  • Shell 脚本入门指南
  • xss-labs靶场通关详解
  • 【DSP+FPGA】基于DSP+FPGA XC7K325T与TMS320C6678的通用信号处理平台
  • 5分钟即可掌握的前端高效利器:JavaScript 策略模式
  • ES6简单总结(搭配简单的讲解和小案例)
  • JavaScript 事件——“事件类型”中“HTML5事件”的注意要点
  • JavaScript标准库系列——Math对象和Date对象(二)
  • javascript从右向左截取指定位数字符的3种方法
  • miniui datagrid 的客户端分页解决方案 - CS结合
  • nfs客户端进程变D,延伸linux的lock
  • Sublime Text 2/3 绑定Eclipse快捷键
  • 百度小程序遇到的问题
  • 第十八天-企业应用架构模式-基本模式
  • 普通函数和构造函数的区别
  • 使用parted解决大于2T的磁盘分区
  • 系统认识JavaScript正则表达式
  • 与 ConTeXt MkIV 官方文档的接驳
  • 移动端高清、多屏适配方案
  • #includecmath
  • (175)FPGA门控时钟技术
  • (8)STL算法之替换
  • (C语言)逆序输出字符串
  • (MATLAB)第五章-矩阵运算
  • (差分)胡桃爱原石
  • (二)丶RabbitMQ的六大核心
  • (四)activit5.23.0修复跟踪高亮显示BUG
  • (转)平衡树
  • (自用)网络编程
  • ./indexer: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object fil
  • .apk 成为历史!
  • .bat批处理(二):%0 %1——给批处理脚本传递参数
  • .dat文件写入byte类型数组_用Python从Abaqus导出txt、dat数据
  • .net framwork4.6操作MySQL报错Character set ‘utf8mb3‘ is not supported 解决方法
  • .NET/C# 异常处理:写一个空的 try 块代码,而把重要代码写到 finally 中(Constrained Execution Regions)
  • .Net8 Blazor 尝鲜
  • @Value获取值和@ConfigurationProperties获取值用法及比较(springboot)
  • [2016.7 Day.4] T1 游戏 [正解:二分图 偏解:奇葩贪心+模拟?(不知如何称呼不过居然比std还快)]
  • [2016.7 day.5] T2
  • [ajaxupload] - 上传文件同时附件参数值
  • [Algorithm][综合训练][拜访][买卖股票的最好时机(四)]详细讲解
  • [Android]Tool-Systrace
  • [AX]AX2012开发新特性-禁止表或者表字段
  • [CF494C]Helping People