摘要: pytest输出测试报告时,有时候需要把截图插入报告中,操作可以如下 用例如下: from pytest_html import extras 导入包 #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2023/5/12 17:44 # 阅读全文
posted @ 2023-05-20 18:09 琉璃星眸 阅读(483) 评论(0) 推荐(0) 编辑
摘要: 背景 基础不牢,地动山摇。在开发编程一途,尤为重要。 有python同学喜欢使用pytest框架实现接口自动化测试方案,在使用参数化过程中,无论是控制台还是测试报告中都没有展示用例名称(中文),而是参数化过程的参数顺序,如下图所示: 从报告效果上看,存在不知道fail的用例是哪个用例的问题,即使知道 阅读全文
posted @ 2023-05-20 17:56 琉璃星眸 阅读(25) 评论(0) 推荐(0) 编辑
摘要: 如何生成一个报告; 报告的生成都是pytest调用报告插件,如pytest-html,在main文件下运行 先安装插件, pip install pytest-html import pytest # pytest.main(["-vs", "testcase/test_dsw_app_ss_011 阅读全文
posted @ 2023-05-17 17:41 琉璃星眸 阅读(52) 评论(0) 推荐(0) 编辑
摘要: 根据 APP自动化-异常截图-利用内存空间(list),这里还可以使用类的方法。 在Package目录下建立一个什么情况下可以操作内存空间.py的文件,里面建立一个类 class Comtext: # 类名可以随便定义 pass 然后在conftest1中设置引入类,然后使用python内置函数 s 阅读全文
posted @ 2023-05-16 19:33 琉璃星眸 阅读(29) 评论(0) 推荐(0) 编辑
摘要: 先在package目录下建立一个文件,如:什么情况下可以操作内存空间.py 里面建立一个列表:list1 = [] 因为conftest可以在很多层级都存在 比如:我们在testcase目录下的conftest-1文件中没有pytest异常截图的那段代码(最下面注释掉的部分) 1 #!/usr/bi 阅读全文
posted @ 2023-05-16 19:03 琉璃星眸 阅读(25) 评论(0) 推荐(0) 编辑
摘要: pytest提供了异常抛出的接口,可以通过pytest抛出异常的时候截图 在conftest中,添加如下代码: import pytestfrom appium.webdriver import Remote # 导入远程包from appium.webdriver.common.appiumby 阅读全文
posted @ 2023-05-16 10:17 琉璃星眸 阅读(30) 评论(0) 推荐(0) 编辑
摘要: APP自动化过程中,要确认异常出现在什么步骤,可以通过会话的截图来帮助确认。 从用例运行到结束,截图的规则是 :页面发生了变化,就截图 但是实际运行后,可能会发现截图和预期不一样,是因为加载慢 所以需要等待,可以拆分查询元素的wait命令,如下图,截图存在运行文件的相对路径下,注意是运行文件,如果是 阅读全文
posted @ 2023-05-15 18:28 琉璃星眸 阅读(21) 评论(0) 推荐(0) 编辑
摘要: 我们知道在python中要想实现数据的共享,可以定义一个“全局变量”,在另一个文件中使用的时候通过先导入,再使用的方式来访问。pytest中定义个conftest.py来实现数据,参数,方法、函数的共享。conftest.py 的文件名称是固定的, pytest 会自动识别该文件,我们可以理解成一个 阅读全文
posted @ 2023-05-15 18:09 琉璃星眸 阅读(42) 评论(0) 推荐(0) 编辑
摘要: 常用的导包数据,可以直接封装起来,以便后期使用, 可以在project添加名为Package的python软件包,如常用下面的包和APP自动远程的链接信息,可以进行封装 from appium.webdriver import Remote # 导入远程包 from appium.webdriver 阅读全文
posted @ 2023-05-12 18:36 琉璃星眸 阅读(62) 评论(0) 推荐(0) 编辑
摘要: pytest pytest是一个单元测试框架,它在我们写自动化测试用例的时候,它的作用是管理、运行用例; 注意事项: 1、首先脚本编写需要符合pytest的一些规范: a.脚本的命名必须是:”test_“ 开头 或者 ”_test“ 结尾 b.脚本中如果有类里面是用例,需要 类名 为 ”Test“ 阅读全文
posted @ 2023-05-12 17:06 琉璃星眸 阅读(48) 评论(0) 推荐(0) 编辑
摘要: import random # 引用随机函数包 random.choice可以从一个可迭代对象中返回一个随机对象 1 import random 2 random_book_name = random.choice(book_name_all) # random.choice可以从一个可迭代对象里面 阅读全文
posted @ 2023-05-12 15:38 琉璃星眸 阅读(13) 评论(0) 推荐(0) 编辑
摘要: 在APP自动化过程中,遇到目录类的元素需要获取元素里的值,如果存在多页,需要滑动很多次,可以通过循环+源码变化来判断是否滑动到底 # wait.until(ec.visibility_of_element_located(locator)).click() #点击目录 # 开始正序list loca 阅读全文
posted @ 2023-05-11 11:02 琉璃星眸 阅读(44) 评论(0) 推荐(0) 编辑
摘要: 元素坐标X和Y代表的是宽和高,即坐标=(X(元素的宽度位置),Y(元素的高度位置)) 图里page_ele是一个元素, page_ele.location可以返回元素的坐标位置,即{'x': 0, 'y': 201} page.size可以返回元素的尺寸大小,{'height': 1719, 'wi 阅读全文
posted @ 2023-05-11 10:57 琉璃星眸 阅读(43) 评论(0) 推荐(0) 编辑
摘要: 隐性等待 隐性等待,是指一次声明(约定),使得后续的操作过程中,都要遵循该声明(约定)的方式; appium提供的是等待加载阶段完成(是继承的selenium的); driver.implicitly_wait(n) # 是等待的超时时间 除此之外 appium 还有一个隐性等待: # caps里面 阅读全文
posted @ 2023-05-09 11:26 琉璃星眸 阅读(15) 评论(0) 推荐(0) 编辑
摘要: 显性等待 显性等待是每次都需要调用的一种等待类型,它有多种使用方式; 总结 显性等待是一种条件(ec模块里面的条件)等待,其原理是: 首先引入服务包: from selenium.webdriver.support.wait import WebDriverWait # 引入selenium的服务 阅读全文
posted @ 2023-05-09 11:12 琉璃星眸 阅读(40) 评论(0) 推荐(0) 编辑
摘要: 随机控制器,在此控制器下的请求会随机选择 如上图脚本,随机控制下添加三个请求,控制器外一个请求,执行一下 可见,随机控制器下的请求是随机的 随机顺序控制器 随机顺序控制器下添加三个请求,线程数设置 为4,执行一下 发现是控制下的所有请求都执行,只是顺序是随机的 阅读全文
posted @ 2018-09-11 14:37 琉璃星眸 阅读(2681) 评论(0) 推荐(0) 编辑
摘要: 1.简单使用 2.嵌套一个控制器,不勾选忽略子控制器 3.嵌套一个控制器,勾选忽略子控制器 4.交替控制器的嵌套 1.简单使用 如下图,设置1个线程,执行3次: 运行结果如下图: 2.嵌套一个控制器,不勾选忽略子控制器 测试计划如下图: 嵌套一个循环控制器,循环次数设置3次 线程组设置1个线程,执行 阅读全文
posted @ 2018-09-11 14:29 琉璃星眸 阅读(181) 评论(0) 推荐(0) 编辑
摘要: Include Controller包含控制器,此控制器可以从外部引用一个测试片段 首先从测试计划中保存一部分元素,取样器、控制器,保存为测试片段 打开新的测试计划,在线程组中添加Include Controller,文件选择刚才保存的测试片段 进行执行 PS:引用的文件不可以包含线程组 阅读全文
posted @ 2018-09-11 12:25 琉璃星眸 阅读(927) 评论(0) 推荐(0) 编辑
摘要: 一、背景 在实际工作中,当使用Jmeter做性能脚本或者接口脚本时,有可能会遇到需要对不同的条件做不同的操作,基于这种诉求,在Jmeter中可使用if控制器来实现 作用:根据给定表达式的值决定是否执行该节点下的子节点,默认使用javascript的语法进行判断(如下图红框内的文字)。 二、实际操作 阅读全文
posted @ 2018-09-10 12:05 琉璃星眸 阅读(941) 评论(0) 推荐(0) 编辑
摘要: 准备条件: 1)自己公司邮箱账号,端口号等 2)下载javamailjar文件到 jmeter /lib路径下 1.下载javamail jar包 浏览器上打开地址一下地址,点击下载javax.mail-1.6.1.jar文件 https://maven.java.net/content/repos 阅读全文
posted @ 2018-07-22 13:33 琉璃星眸 阅读(1196) 评论(0) 推荐(0) 编辑