5、编写自动化测试脚本
上面已经对页面元素进行了封装,接下来就是动手写脚本了。
这里写了2个脚本,直接上代码:
1、test_baidu_news.py
# -*- coding:utf-8 -*- import unittest import sys,os from framework.browser_engine import BrowserEngine from pageobjects.home_baidu import Home_Baidu from pageobjects.news_page import News_Page import tracebackclass test_Baidu_News(unittest.TestCase):def setUp(self):browser = BrowserEngine()self.driver = browser.getdriver()browser.open_browser()def tearDown(self):test_method_name = self._testMethodNamerunlog_path = r'F:\python_autotest\runlog' os.chdir(runlog_path)method_path = runlog_path + test_method_nameprint(method_path)if sys.exc_info()[0]:if os.path.exists(method_path):os.chdir(method_path)self.driver.get_screenshot_as_file('fail.png')with open('log.txt', 'w') as e:e.write(str(traceback.format_exc()))else:os.mkdir(test_method_name)os.chdir(test_method_name)self.driver.get_screenshot_as_file('fail.png')with open('log.txt', 'w') as e:e.write(str(traceback.format_exc()))super(test_Baidu_News, self).tearDown()self.driver.quit()def test_news_zhaolei(self):hb = Home_Baidu(self.driver)hb.news_ele().click()hb.sleep(1)np = News_Page(self.driver)np.news_input_ele().send_keys(u"赵雷")np.news_submit_ele().click()hb.sleep(2)if __name__ == '__main__':unittest.main()
这里的重点在于tearDown方法,我增加了脚本执行失败自动截图并打印出错误信息的功能,用于脚本失败原因定位。
这里多说下,测试用例最好都以test_开头,因为涉及到后面批量执行脚本,具体原因自行百度。
下面把另一个脚本的代码也贴出来吧,其实是一样的。
2、test_baidu_vedio.py
# -*- coding:utf-8 -*- import unittest import sys import os import traceback from framework.browser_engine import BrowserEngine from pageobjects.home_baidu import Home_Baidu from pageobjects.vedio_page import Vedio_Pageclass test_baidu_vedio(unittest.TestCase):def setUp(self):browser = BrowserEngine()self.driver = browser.getdriver()browser.open_browser()def tearDown(self):test_method_name = self._testMethodNamerunlog_path = r'F:\python_autotest\runlog' os.chdir(runlog_path)method_path = runlog_path + test_method_nameprint(method_path)if sys.exc_info()[0]:if os.path.exists(method_path):os.chdir(method_path)self.driver.get_screenshot_as_file('fail.png')with open('log.txt','w') as e:e.write(str(traceback.format_exc()))else:os.mkdir(test_method_name)os.chdir(test_method_name)self.driver.get_screenshot_as_file('fail.png')with open('log.txt', 'w') as e:e.write(str(traceback.format_exc()))super(test_baidu_vedio, self).tearDown()self.driver.quit()def test_vedio_zhoujielun(self):hb = Home_Baidu(self.driver)hb.vedio_ele().click()hb.sleep(1)vp = Vedio_Page(self.driver)vp.vedio_input_ele().send_keys(u"周杰伦")vp.vedio_submit_ele().click()vp.sleep(2)if __name__ == '__main__':unittest.main()
5、编写自动化测试脚本相关推荐
- python自动化测试脚本怎么编写_编写自动化测试脚本心得---菜鸟入门篇
编写自动化测试脚本心得 -------- 菜鸟入门篇 本文中将不会讲解 ISEE 的测试原理.不说明 Python 的常用语法.不介绍 OTP 测试平 台的架构, 自动化测试组的牛人们已经为我们编写了 ...
- 学习编写自动化测试脚本——用脚本取代键盘鼠标操作浏览器
说明: 1.下面有几张图由于电脑的原因真实的图显示不出来,缺少的部分是画上去的不影响观看! 2.贴进去的html代码只是其中的一部分,这部分用到了而已: 3.Python代码部分,若要运行,谨慎取舍! ...
- 使用 XML 维护 Selenium 自动化测试脚本 ZT
简介:软件自动化回归测试是软件工程实践中的重要发展趋势之一.目前业内主流的商业自动化测试工具和开放源代码测试工具,都需要自动化测试人员熟悉开发编程语言.但是过高的编程门槛让很大一部分优秀的业务测试人员 ...
- python写自动化测试脚本常见报错_Appium自动化测试
3. Appium安装配置 3.1. 限制 如果你在windows上安装appium,你没法使用预编译专用于OS X的.app文件,你也将不能测试IOS apps,因为appium依赖OS ...
- 11.8 自动化测试脚本编写规范(1)
11.8 自动化测试脚本编写规范(1) http://book.51cto.com 2010-04-09 13:33 曹向志 电子工业出版社 我要评论(1) 摘要:<软件测试项目实战-- ...
- QTP/UFT(二):自动化测试脚本编写方法
2021.04.24 自动化测试方案选取时需考虑的因素(康康就行,并不是很重要) 项目的影响:自动化测试能否对项目进度.测试覆盖率.风险有积极的作用,或者让开发更敏捷 复杂度:自动化是否容易实现,包括 ...
- 自动化测试脚本的编写规范
总体原则 说明:QA编写自动化测试应当遵守AIR原则.执行自动化用例应该感觉像空气(AIR)一样快速健壮.好的自动化测试宏观上来说,具有自动化.独立性.可重复执行的特点. A: Automatable ...
- 基于selenium的自动化测试脚本编写-python
浏览器操作 1 启动浏览器并打开网页 2 拖拽操作 3 弹窗处理 4 后退前进关闭 5 cookies操作 异常处理 1 等待 11 sleep函数 12 隐示例等待 13 使用javascript ...
- Python+Appium自动化测试-编写自动化脚本
我们实际跑自动化脚本的过程中,是需要用脚本调用appium启动app的,接下来就尝试写Python脚本启动app并登陆app.环境为Windows10 + Python3.7 + appium1.18 ...
最新文章
- C语言中如何使用宏连接多个字符串(#和##的用法)
- 循环链表:拉丁方阵问题
- Apache Nutch 1.3 学习笔记十(插件机制分析)
- javascrip执行字符串里面的函数
- 基于MTK方案AG3335芯片设计的款超小型超低功耗定位器
- mysql 授权远程连接_MySQL远程访问授权
- 产品案例分析 - 华为软件开发云
- Gromacs动力学模拟
- 浅谈数据挖掘中的关联规则挖掘
- docker容器无法使用top命令
- 魔百和CM311-1a YST代工 YS(M),短接线刷时必须用风扇吹降温,才能刷机成功
- Nextflow patterns
- 004.python基础知识之基本数据类型及基本运算符
- C语言|博客作业10
- 边缘计算开源框架EdgeXFoundry的部署应用开发(三)设备服务开发
- 程序员手疼7年以为就是“键盘手”没在意!竟是骨肿瘤 ....
- 红米note2报告android,红蓝之争 魅蓝Note 2/红米Note对比评测
- 软件需求工程 高校教学平台 需求工程计划
- 正则表达式(Regular Expression)基础使用、贪婪性、懒惰性以及常用方法
- ANSYS Workbench接触非线有限元计算视频教程