当前位置:   article > 正文

Python3-selenium自动化测试框架,结合HTMLTestRunner测试报告!_python selenium3 脚手架 开源

python selenium3 脚手架 开源

Vantpy1.0

关于框架:

Vantpy框架基于Selenium+Yaml+Unittest搭建的WebUI自动化测试框架

特点:

  • 使用POM(页面对象模式)设计,使代码更加有逻辑性,测试脚本更加规范,后期更加容易维护以及复用性更高
  • 支持多种定位方式,包括(xpath/css/ID/text/link_text/name)
  • 框架集成了Selenium的常用定位方法,使元素定位更加方便
  • 使用HTMLTestRunner作为自动生成测试报告,报告更加美观,更加详细,内容更丰富
  • Logging日志输出,可以看到每一步做的操作
  • Yaml作为数据管理,实现代码,数据分离,使框架的使用起来更加简单

部署环境:

使用到的package:

pip install selenium
pip install pyyaml

支持的浏览器及驱动:

基于Selenium支持的所有浏览器

  1. browser == "Chrome"
  2. browser == "firefox"
  3. browser == "IE"
  4. browser == "phantomjs"
  5. browser == "opera"
  6. browser == "edge"

geckodriver(Firefox):https://github.com/mozilla/geckodriver/releases

Chromedriver(Chrome):https://sites.google.com/a/chromium.org/chromedriver/home

IEDriverServer(IE):http://selenium-release.storage.googleapis.com/index.html

operadriver(Opera):https://github.com/operasoftware/operachromiumdriver/releases

MicrosoftWebDriver(Edge):https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver

  1. 现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
  2. 如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
  3. 可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
  4. 分享他们的经验,还会分享很多直播讲座和技术沙龙
  5. 可以免费学习!划重点!开源的!!!
  6. qq群号:110685036

定位元素方式:

  1. class BaiduPage(BasePage):
  2. """
  3. 在这里写定位器,通过元素属性定位元素对象
  4. """
  5. search_loc =(By.XPATH,'//*[@id="kw"]')#定位百度文本框
  6. def input_baidu_text(self,text):
  7. self.send_key(self.search_loc,text)

读取yaml数据

  1. brwserType:
  2. browserName : Chrome
  3. testUrl:
  4. URL : https://www.baidu.com
  5. file_path = os.path.dirname(os.getcwd())
  6. name_path = file_path + '\conf\config.yaml'
  7. with open(name_path, 'r') as f:
  8. temp = yaml.load(f.read())

日志输出

  1. 2018-06-02 19:05:27,581 - INFO - 选择的浏览器为: Chrome 浏览器
  2. 2018-06-02 19:05:27,581 - INFO - 打开的URL为: https://www.baidu.com
  3. 2018-06-02 19:05:33,511 - INFO - 启动谷歌浏览器
  4. 2018-06-02 19:05:34,190 - INFO - 打开URL: https://www.baidu.com
  5. 2018-06-02 19:05:35,331 - INFO - 全屏当前窗口
  6. 2018-06-02 19:05:35,360 - INFO - 设置5秒隐式等待时间
  7. 2018-06-02 19:05:35,360 - INFO - 清空文本框内容: //*[@id="kw"]...
  8. 2018-06-02 19:05:36,524 - INFO - 输入内容方式 by xpath: //*[@id="kw"]...
  9. 2018-06-02 19:05:36,524 - INFO - 输入内容: selenium
  10. 2018-06-02 19:05:38,780 - INFO - 点击元素 by xpath: //*[@id="su"]...
  11. 2018-06-02 19:05:41,358 - INFO - 页面已截图,截图的路径在项目: /screenshots路径下

生成测试报告

  1. def report():
  2. if len(sys.argv) > 1:
  3. report_name = os.path.dirname(os.getcwd()) + '\\report\\' + sys.argv[1] + '_result.html'
  4. else:
  5. now = time.strftime("%Y-%m-%d_%H_%M_%S_")
  6. # 需要查看每段时间的测试报告,可以这样写:
  7. # report_name = os.getcwd() + '\\report\\'+now+'result.html'
  8. report_name = os.path.dirname(os.getcwd()) + '\\report\\result.html'
  9. return report_name
  10. fp = open(report(), 'wb')
  11. Runner = HTMLTestRunner(
  12. stream=fp,
  13. title='测试报告',
  14. description='测试用例执行情况'
  15. )

测试报告

自动化测试报告

最后感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的,虽然不是什么很值钱的东西,如果你用得到的话可以直接拿走!

软件测试面试文档

我们学习必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有字节大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。
 

在这里插入图片描述

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/笔触狂放9/article/detail/438046
推荐阅读
相关标签
  

闽ICP备14008679号