上面已经对页面元素进行了封装,接下来就是动手写脚本了。

这里写了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、编写自动化测试脚本相关推荐

  1. python自动化测试脚本怎么编写_编写自动化测试脚本心得---菜鸟入门篇

    编写自动化测试脚本心得 -------- 菜鸟入门篇 本文中将不会讲解 ISEE 的测试原理.不说明 Python 的常用语法.不介绍 OTP 测试平 台的架构, 自动化测试组的牛人们已经为我们编写了 ...

  2. 学习编写自动化测试脚本——用脚本取代键盘鼠标操作浏览器

    说明: 1.下面有几张图由于电脑的原因真实的图显示不出来,缺少的部分是画上去的不影响观看! 2.贴进去的html代码只是其中的一部分,这部分用到了而已: 3.Python代码部分,若要运行,谨慎取舍! ...

  3. 使用 XML 维护 Selenium 自动化测试脚本 ZT

    简介:软件自动化回归测试是软件工程实践中的重要发展趋势之一.目前业内主流的商业自动化测试工具和开放源代码测试工具,都需要自动化测试人员熟悉开发编程语言.但是过高的编程门槛让很大一部分优秀的业务测试人员 ...

  4. python写自动化测试脚本常见报错_Appium自动化测试

    3.     Appium安装配置 3.1.  限制 如果你在windows上安装appium,你没法使用预编译专用于OS X的.app文件,你也将不能测试IOS apps,因为appium依赖OS ...

  5. 11.8 自动化测试脚本编写规范(1)

    11.8 自动化测试脚本编写规范(1) http://book.51cto.com  2010-04-09 13:33  曹向志  电子工业出版社  我要评论(1) 摘要:<软件测试项目实战-- ...

  6. QTP/UFT(二):自动化测试脚本编写方法

    2021.04.24 自动化测试方案选取时需考虑的因素(康康就行,并不是很重要) 项目的影响:自动化测试能否对项目进度.测试覆盖率.风险有积极的作用,或者让开发更敏捷 复杂度:自动化是否容易实现,包括 ...

  7. 自动化测试脚本的编写规范

    总体原则 说明:QA编写自动化测试应当遵守AIR原则.执行自动化用例应该感觉像空气(AIR)一样快速健壮.好的自动化测试宏观上来说,具有自动化.独立性.可重复执行的特点. A: Automatable ...

  8. 基于selenium的自动化测试脚本编写-python

    浏览器操作 1 启动浏览器并打开网页 2 拖拽操作 3 弹窗处理 4 后退前进关闭 5 cookies操作 异常处理 1 等待 11 sleep函数 12 隐示例等待 13 使用javascript ...

  9. Python+Appium自动化测试-编写自动化脚本

    我们实际跑自动化脚本的过程中,是需要用脚本调用appium启动app的,接下来就尝试写Python脚本启动app并登陆app.环境为Windows10 + Python3.7 + appium1.18 ...

最新文章

  1. C语言中如何使用宏连接多个字符串(#和##的用法)
  2. 循环链表:拉丁方阵问题
  3. Apache Nutch 1.3 学习笔记十(插件机制分析)
  4. javascrip执行字符串里面的函数
  5. 基于MTK方案AG3335芯片设计的款超小型超低功耗定位器
  6. mysql 授权远程连接_MySQL远程访问授权
  7. 产品案例分析 - 华为软件开发云
  8. Gromacs动力学模拟
  9. 浅谈数据挖掘中的关联规则挖掘
  10. docker容器无法使用top命令
  11. 魔百和CM311-1a YST代工 YS(M),短接线刷时必须用风扇吹降温,才能刷机成功
  12. Nextflow patterns
  13. 004.python基础知识之基本数据类型及基本运算符
  14. C语言|博客作业10
  15. 边缘计算开源框架EdgeXFoundry的部署应用开发(三)设备服务开发
  16. 程序员手疼7年以为就是“键盘手”没在意!竟是骨肿瘤 ....
  17. 红米note2报告android,红蓝之争 魅蓝Note 2/红米Note对比评测
  18. 软件需求工程 高校教学平台 需求工程计划
  19. 正则表达式(Regular Expression)基础使用、贪婪性、懒惰性以及常用方法
  20. ANSYS Workbench接触非线有限元计算视频教程

热门文章

  1. Java的object如何转为map_java实现Object和Map之间的转换3种方式
  2. My加油努力--DAY01 (7/13)
  3. OpenCV:Canny算子边缘检测
  4. 数据挖掘基础知识整理
  5. SEO优化软件-什么样的网站百度会认为是在作弊?
  6. Python的matplotlib库学习笔记第一篇
  7. 前端开发工具集(九):单元测试(jest)
  8. 快速云:五分钟了解几款磁盘测试与IO查看的工具
  9. 餐饮行业如何打开市场
  10. echarts折线图、echarts折线图自定义样式