def addCleanup(self, function, *args, **kwargs): """Add a function, with arguments, to be called when the test is completed. Functions added are called on a LIFO basis and are called after tearDown on test failure or success. Cleanup items…
本篇内容主要表述以下几个问题: 1.iframe 这个是什么? 2.定位iframe 标签时遇到的几个报错总结. 3.显示等待与隐示等待的原理与优缺点. 4.无name,ID可变情况下的处理方式 5.frame标签中嵌套iframe标签时的处理思路 最开始根本没想到这个事情,就按照正常的方式操作,结果,,,这都是什么鬼.怎么都定位不到这个元素,不能进行下一步. 后来了解了一下,原来是iframe这个鬼东西在捣乱. 一.先说一下这个是什么东西 . firame: Iframe标记又叫浮动帧标记,可…
一.导入了HTMLTestRunner模块,报错:No module named StringIO,在python3.x中确实没有,在第94行引入的名称改成import io,539行要改成self.outputBuffer = io.BytesIO(),因为写入磁盘为字节流形式,所以在119行要写城self.fp.write(s.encode()),生成报告时,bytes转化成str. 二.报错:AttributeError:‘dict’ object no attribute ‘has_ke…
详细介绍安装Android Studio及Android SDK.安装Appium Server. 文章目录如下 目录 文章目录如下 模拟器--安装Android Studio及Android SDK 模拟器--更改VDM默认存储路径 真机(Android)环境设置 真机--开启开发者模式 真机-- 打开USB调试 真机连接--文件传输 安装apk文件 通过npm安装Appium Server 启动Appium GUI模式 Appium连接会话 Appium Server安装困难可能出现的原因:…
1.package.json { "name": "element-starter", "description": "A Vue.js project", "author": "yi.shyang@ele.me", "private": true, "scripts": { "dev:test": "cross-en…
在咱们测试过程中,经常需要切换测试环境和线上环境.大致有如下几个方案. 一.服务器地址编译到app中 此种方式需要在代码里保存两套配置,一套指向线上,一套指向测试.通过编译参数分别生成测试包.线上包.记住此种方式一定要通过编译参数实现,防止将测试环境发到线上. 优点:简单暴力无需其它设置及设备支持 缺点:切换服务器需重新编译安装包. 二.app中留着修改服务器地址的隐藏功能 此种方式debug编译的情况下,预留一个可以修改服务器的入口,进入后可以随意切换服务器地址. 优点:代码中不会出现测试服务…
通过上篇文章日志管理模块loguru简介,我们已经知道了loguru日志记录模块的简单使用.在自动化测试项目中,一般都需要通过记录日志的方式来确定项目运行的状态及结果,以方便定位问题. 这篇文章我们使用loguru模块来记录接口自动化测试中的日志. 一,封装日志记录器 实际项目中,我们不可能每个模块都去导入loguru模块,每个模块都单独去写一遍日志配置,这样麻烦又冗余. 最好的方式是针对项目单独封装.配置一个日志记录模块,作为公共的日志记录器,这既其他模块进行调用,也方便维护. 在logger…
当你安装 Debian Linux 时,安装过程有可能同时为你提供多个可用的 Python 版本,因此系统中会存在多个 Python 的可执行二进制文件,你可以按照以下方法使用 ls 命令来查看你的系统中都有那些 Python 的二进制文件可供使用: $ ls /usr/bin/python* /usr/bin/python /usr/bin/python2 /usr/bin/python2.7 /usr/bin/python3 /usr/bin/python3.4 /usr/bin/pytho…
Python+selenium自动化测试中Windows窗口跳转方法 #第一种方法 #获得当前窗口 nowhandle=driver.current_window_handle #打开弹窗 driver.find_element_by_name("xxx").click() #获得所有窗口 allhandles=driver.window_handles for handle in allhandles: #比较当前窗口是不是原先的窗口 if handle!=nowhandle: #获…
https://docs.pytest.org/en/latest/getting-started.html#create-your-first-test http://www.testclass.net/pytest [一]assert & raise 共三个相关文件 test_assert_one.py test_assert_two.py users.dev.json test_assert_one.py ''' [basic] can't has chinese and chinese'…