项目重构

This commit is contained in:
caiweichao 2024-08-15 19:25:41 +08:00
parent 63bdd4ccf7
commit 03eddeb6aa
54 changed files with 2 additions and 839 deletions

View File

@ -9,6 +9,8 @@
- 使用技术Python+Selenium4+Requests+Allure2+Pytest+Jenkins+Pymysql+selenium4 Grid - 使用技术Python+Selenium4+Requests+Allure2+Pytest+Jenkins+Pymysql+selenium4 Grid
- 我已经成功地在公司中落地了此框架,集成了大约 2w+的自动化 case如果这个项目对你有帮助或启发请多多点赞 - 我已经成功地在公司中落地了此框架,集成了大约 2w+的自动化 case如果这个项目对你有帮助或启发请多多点赞
- 建议Python 版本 >= 3.9 - 建议Python 版本 >= 3.9
- **希望各位大佬多多 star**
- ![img.png](img.png)
### 项目目录简介 ### 项目目录简介
1. [config](config) --> 存放配置文件 1. [config](config) --> 存放配置文件

File diff suppressed because one or more lines are too long

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 KiB

View File

@ -1,21 +0,0 @@
DEBUG  Log:logs.py:68 -开始-等待页面https://m.z-trip.cn/login2?from=guide的元素('xpath', "//button[@type='button']")可见
DEBUG  Log:logs.py:68 页面https://m.z-trip.cn/login2?from=guide上的元素('xpath', "//button[@type='button']")已可见共计等待2.15秒
DEBUG  Log:logs.py:68 正在定位https://m.z-trip.cn/login2?from=guide页面的: ('xpath', "//button[@type='button']") 的元素
DEBUG  Log:logs.py:68 -开始-等待页面https://m.z-trip.cn/login2?from=guide的元素('xpath', "//input[@placeholder='请输入手机/邮箱']")可见
DEBUG  Log:logs.py:68 页面https://m.z-trip.cn/login2?from=guide上的元素('xpath', "//input[@placeholder='请输入手机/邮箱']")已可见共计等待0.01秒
DEBUG  Log:logs.py:68 正在定位https://m.z-trip.cn/login2?from=guide页面的: ('xpath', "//input[@placeholder='请输入手机/邮箱']") 的元素
DEBUG  Log:logs.py:68 输入操作:https://m.z-trip.cn/login2?from=guide页面下的属性为:('xpath', "//input[@placeholder='请输入手机/邮箱']")的元素,输入内容为13248231369
DEBUG  Log:logs.py:68 -开始-等待页面https://m.z-trip.cn/login2?from=guide的元素('xpath', "//input[@placeholder='请输入密码']")可见
DEBUG  Log:logs.py:68 页面https://m.z-trip.cn/login2?from=guide上的元素('xpath', "//input[@placeholder='请输入密码']")已可见共计等待0.01秒
DEBUG  Log:logs.py:68 正在定位https://m.z-trip.cn/login2?from=guide页面的: ('xpath', "//input[@placeholder='请输入密码']") 的元素
DEBUG  Log:logs.py:68 输入操作:https://m.z-trip.cn/login2?from=guide页面下的属性为:('xpath', "//input[@placeholder='请输入密码']")的元素,输入内容为1@Cai000000
DEBUG  Log:logs.py:68 -开始-等待页面https://m.z-trip.cn/login2?from=guide的元素('xpath', "//span[@class='ic']")可点击
DEBUG  Log:logs.py:68 页面https://m.z-trip.cn/login2?from=guide上的元素('xpath', "//span[@class='ic']")已可点击共计等待0.01秒
DEBUG  Log:logs.py:68 正在定位https://m.z-trip.cn/login2?from=guide页面的: ('xpath', "//span[@class='ic']") 的元素
DEBUG  Log:logs.py:68 点击:https://m.z-trip.cn/login2?from=guide页面,属性为('xpath', "//span[@class='ic']")的元素
DEBUG  Log:logs.py:68 -开始-等待页面https://m.z-trip.cn/login2?from=guide的元素('xpath', "//div[@class='btn1 btn']")可点击
DEBUG  Log:logs.py:68 页面https://m.z-trip.cn/login2?from=guide上的元素('xpath', "//div[@class='btn1 btn']")已可点击共计等待0.01秒
DEBUG  Log:logs.py:68 正在定位https://m.z-trip.cn/login2?from=guide页面的: ('xpath', "//div[@class='btn1 btn']") 的元素
DEBUG  Log:logs.py:68 点击:https://m.z-trip.cn/login2?from=guide页面,属性为('xpath', "//div[@class='btn1 btn']")的元素
DEBUG  Log:logs.py:68 判断https://m.z-trip.cn/login2?from=guide页面的元素('xpath', "//span[contains(@class,'name') and contains(text(),'蔡伟超')]")是否存在
DEBUG  Log:logs.py:68 用例执行完成截图成功文件名称为1711768979.481618.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 203 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 93 KiB

View File

@ -1,41 +0,0 @@
DEBUG  Log:logs.py:68 -开始-等待页面https://admin.z-trip.cn/login?_top_=1的元素('id', 'input-username')可见
DEBUG  Log:logs.py:68 页面https://admin.z-trip.cn/login?_top_=1上的元素('id', 'input-username')已可见共计等待0.01秒
DEBUG  Log:logs.py:68 正在定位https://admin.z-trip.cn/login?_top_=1页面的: ('id', 'input-username') 的元素
DEBUG  Log:logs.py:68 输入操作:https://admin.z-trip.cn/login?_top_=1页面下的属性为:('id', 'input-username')的元素,输入内容为13248231369
DEBUG  Log:logs.py:68 -开始-等待页面https://admin.z-trip.cn/login?_top_=1的元素('xpath', '//input[@type="password"]')可见
DEBUG  Log:logs.py:68 页面https://admin.z-trip.cn/login?_top_=1上的元素('xpath', '//input[@type="password"]')已可见共计等待0.01秒
DEBUG  Log:logs.py:68 正在定位https://admin.z-trip.cn/login?_top_=1页面的: ('xpath', '//input[@type="password"]') 的元素
DEBUG  Log:logs.py:68 输入操作:https://admin.z-trip.cn/login?_top_=1页面下的属性为:('xpath', '//input[@type="password"]')的元素,输入内容为@Cai000000
DEBUG  Log:logs.py:68 -开始-等待页面https://admin.z-trip.cn/login?_top_=1的元素('xpath', '//button[text()="登录"]')可点击
DEBUG  Log:logs.py:68 页面https://admin.z-trip.cn/login?_top_=1上的元素('xpath', '//button[text()="登录"]')已可点击共计等待0.01秒
DEBUG  Log:logs.py:68 正在定位https://admin.z-trip.cn/login?_top_=1页面的: ('xpath', '//button[text()="登录"]') 的元素
DEBUG  Log:logs.py:68 点击:https://admin.z-trip.cn/login?_top_=1页面,属性为('xpath', '//button[text()="登录"]')的元素
DEBUG  Log:logs.py:68 判断https://admin.z-trip.cn/login?_top_=1页面的元素('xpath', '//div[@class="sys-nav"]/a[text()="注销"]')是否存在
DEBUG  Log:logs.py:68 -开始-等待页面exist的元素('xpath', '//div[@class="sys-nav"]/a[text()="注销"]')可见
DEBUG  Log:logs.py:68 页面exist上的元素('xpath', '//div[@class="sys-nav"]/a[text()="注销"]')已可见共计等待0.01秒
DEBUG  Log:logs.py:68 正在定位exist页面的: ('xpath', '//div[@class="sys-nav"]/a[text()="注销"]') 的元素
DEBUG  Log:logs.py:68 切换https://admin.z-trip.cn/vcommon/jsp/pss/tmc/searchUserPage页面的ifram('xpath', '//iframe')
DEBUG  Log:logs.py:68 -开始-等待页面https://admin.z-trip.cn/vcommon/jsp/pss/tmc/searchUserPage的元素('xpath', '//iframe')可见
DEBUG  Log:logs.py:68 页面https://admin.z-trip.cn/vcommon/jsp/pss/tmc/searchUserPage上的元素('xpath', '//iframe')已可见共计等待1.03秒
DEBUG  Log:logs.py:68 正在定位https://admin.z-trip.cn/vcommon/jsp/pss/tmc/searchUserPage页面的: ('xpath', '//iframe') 的元素
DEBUG  Log:logs.py:68 -开始-等待页面https://admin.z-trip.cn/vcommon/jsp/pss/tmc/searchUserPage的元素('xpath', "//input[@placeholder='姓名/拼音/手机/邮箱']")可见
DEBUG  Log:logs.py:68 页面https://admin.z-trip.cn/vcommon/jsp/pss/tmc/searchUserPage上的元素('xpath', "//input[@placeholder='姓名/拼音/手机/邮箱']")已可见共计等待0.01秒
DEBUG  Log:logs.py:68 正在定位https://admin.z-trip.cn/vcommon/jsp/pss/tmc/searchUserPage页面的: ('xpath', "//input[@placeholder='姓名/拼音/手机/邮箱']") 的元素
DEBUG  Log:logs.py:68 输入操作:https://admin.z-trip.cn/vcommon/jsp/pss/tmc/searchUserPage页面下的属性为:('xpath', "//input[@placeholder='姓名/拼音/手机/邮箱']")的元素,输入内容为蔡伟超
DEBUG  Log:logs.py:68 -开始-等待页面https://admin.z-trip.cn/vcommon/jsp/pss/tmc/searchUserPage的元素('xpath', '//button[contains(text(),"查询")]')可点击
DEBUG  Log:logs.py:68 页面https://admin.z-trip.cn/vcommon/jsp/pss/tmc/searchUserPage上的元素('xpath', '//button[contains(text(),"查询")]')已可点击共计等待0.01秒
DEBUG  Log:logs.py:68 正在定位https://admin.z-trip.cn/vcommon/jsp/pss/tmc/searchUserPage页面的: ('xpath', '//button[contains(text(),"查询")]') 的元素
DEBUG  Log:logs.py:68 点击:https://admin.z-trip.cn/vcommon/jsp/pss/tmc/searchUserPage页面,属性为('xpath', '//button[contains(text(),"查询")]')的元素
DEBUG  Log:logs.py:68 -开始-等待页面https://admin.z-trip.cn/vcommon/jsp/pss/tmc/searchUserPage的元素('xpath', "//a[text()='代客下单 »']")可点击
DEBUG  Log:logs.py:68 页面https://admin.z-trip.cn/vcommon/jsp/pss/tmc/searchUserPage上的元素('xpath', "//a[text()='代客下单 »']")已可点击共计等待1.04秒
DEBUG  Log:logs.py:68 正在定位https://admin.z-trip.cn/vcommon/jsp/pss/tmc/searchUserPage页面的: ('xpath', "//a[text()='代客下单 »']") 的元素
DEBUG  Log:logs.py:68 点击:https://admin.z-trip.cn/vcommon/jsp/pss/tmc/searchUserPage页面,属性为('xpath', "//a[text()='代客下单 »']")的元素
DEBUG  Log:logs.py:68 -开始-等待页面https://www.z-trip.cn/v/votapub/booking/flight?&clientEc=SU9QeENaeEdXZ0pKcGp5UDBlNUJlN2dPVng1OFRWWTFkdlkvSFZKMlBZZ3ZHdEpzVWxvUnIzZ0VDbEIrOEhpVWJ6TVh1V2ZUWTF5Q2plOWlKVHVaajFKcWpaVjNnZWpTa2FlN2NWWmljOXUxZ2FPYWthUEg0dU9USVBCWkgzbi95OGxoM2lvOFgzcmJ4SmJEZkZWVUhjdkpZZDRxUEY5NllSK2hXV0ttNWZ6QnFNZ2Nmb0Q0N2ZPa3lRYSt5Q2tranFZVkJidVVxbFg3c1VDMDBJTDRRZz09P2FwcElkPXRlbS13ZWItaDUma2V5SWQ9NA%253D%253D的元素('xpath', "//span[text()='首页']")可点击
DEBUG  Log:logs.py:68 页面https://www.z-trip.cn/v/votapub/booking/flight?&clientEc=SU9QeENaeEdXZ0pKcGp5UDBlNUJlN2dPVng1OFRWWTFkdlkvSFZKMlBZZ3ZHdEpzVWxvUnIzZ0VDbEIrOEhpVWJ6TVh1V2ZUWTF5Q2plOWlKVHVaajFKcWpaVjNnZWpTa2FlN2NWWmljOXUxZ2FPYWthUEg0dU9USVBCWkgzbi95OGxoM2lvOFgzcmJ4SmJEZkZWVUhjdkpZZDRxUEY5NllSK2hXV0ttNWZ6QnFNZ2Nmb0Q0N2ZPa3lRYSt5Q2tranFZVkJidVVxbFg3c1VDMDBJTDRRZz09P2FwcElkPXRlbS13ZWItaDUma2V5SWQ9NA%253D%253D上的元素('xpath', "//span[text()='首页']")已可点击共计等待0.02秒
DEBUG  Log:logs.py:68 正在定位https://www.z-trip.cn/v/votapub/booking/flight?&clientEc=SU9QeENaeEdXZ0pKcGp5UDBlNUJlN2dPVng1OFRWWTFkdlkvSFZKMlBZZ3ZHdEpzVWxvUnIzZ0VDbEIrOEhpVWJ6TVh1V2ZUWTF5Q2plOWlKVHVaajFKcWpaVjNnZWpTa2FlN2NWWmljOXUxZ2FPYWthUEg0dU9USVBCWkgzbi95OGxoM2lvOFgzcmJ4SmJEZkZWVUhjdkpZZDRxUEY5NllSK2hXV0ttNWZ6QnFNZ2Nmb0Q0N2ZPa3lRYSt5Q2tranFZVkJidVVxbFg3c1VDMDBJTDRRZz09P2FwcElkPXRlbS13ZWItaDUma2V5SWQ9NA%253D%253D页面的: ('xpath', "//span[text()='首页']") 的元素
DEBUG  Log:logs.py:68 点击:https://www.z-trip.cn/v/votapub/booking/flight?&clientEc=SU9QeENaeEdXZ0pKcGp5UDBlNUJlN2dPVng1OFRWWTFkdlkvSFZKMlBZZ3ZHdEpzVWxvUnIzZ0VDbEIrOEhpVWJ6TVh1V2ZUWTF5Q2plOWlKVHVaajFKcWpaVjNnZWpTa2FlN2NWWmljOXUxZ2FPYWthUEg0dU9USVBCWkgzbi95OGxoM2lvOFgzcmJ4SmJEZkZWVUhjdkpZZDRxUEY5NllSK2hXV0ttNWZ6QnFNZ2Nmb0Q0N2ZPa3lRYSt5Q2tranFZVkJidVVxbFg3c1VDMDBJTDRRZz09P2FwcElkPXRlbS13ZWItaDUma2V5SWQ9NA%253D%253D页面,属性为('xpath', "//span[text()='首页']")的元素
DEBUG  Log:logs.py:68 -开始-等待页面https://www.z-trip.cn/v/vcommon/home的元素('xpath', "//p[contains(text(),'蔡伟超')]")可见
DEBUG  Log:logs.py:68 页面https://www.z-trip.cn/v/vcommon/home上的元素('xpath', "//p[contains(text(),'蔡伟超')]")已可见共计等待1.03秒
DEBUG  Log:logs.py:68 正在定位https://www.z-trip.cn/v/vcommon/home页面的: ('xpath', "//p[contains(text(),'蔡伟超')]") 的元素
DEBUG  Log:logs.py:68 文本获取操作:获取https://www.z-trip.cn/v/vcommon/home页面下的属性为:('xpath', "//p[contains(text(),'蔡伟超')]")的元素的文本内容
DEBUG  Log:logs.py:68 用例执行完成截图成功文件名称为1711769006.5161018.png

Binary file not shown.

Before

Width:  |  Height:  |  Size: 85 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 203 KiB

View File

@ -1,21 +0,0 @@
DEBUG  Log:logs.py:68 -开始-等待页面https://passport.z-trip.cn/login的元素('xpath', '//input[@placeholder="手机号/邮箱"]')可见
DEBUG  Log:logs.py:68 页面https://passport.z-trip.cn/login上的元素('xpath', '//input[@placeholder="手机号/邮箱"]')已可见共计等待0.01秒
DEBUG  Log:logs.py:68 正在定位https://passport.z-trip.cn/login页面的: ('xpath', '//input[@placeholder="手机号/邮箱"]') 的元素
DEBUG  Log:logs.py:68 输入操作:https://passport.z-trip.cn/login页面下的属性为:('xpath', '//input[@placeholder="手机号/邮箱"]')的元素,输入内容为13248231369
DEBUG  Log:logs.py:68 -开始-等待页面https://passport.z-trip.cn/login的元素('xpath', '//input[@id="submitLogin"]')可见
DEBUG  Log:logs.py:68 页面https://passport.z-trip.cn/login上的元素('xpath', '//input[@id="submitLogin"]')已可见共计等待0.01秒
DEBUG  Log:logs.py:68 正在定位https://passport.z-trip.cn/login页面的: ('xpath', '//input[@id="submitLogin"]') 的元素
DEBUG  Log:logs.py:68 输入操作:https://passport.z-trip.cn/login页面下的属性为:('xpath', '//input[@id="submitLogin"]')的元素,输入内容为@Cai000000
DEBUG  Log:logs.py:68 -开始-等待页面https://passport.z-trip.cn/login的元素('xpath', "//input[@id='chkpersist']")可点击
DEBUG  Log:logs.py:68 页面https://passport.z-trip.cn/login上的元素('xpath', "//input[@id='chkpersist']")已可点击共计等待0.01秒
DEBUG  Log:logs.py:68 正在定位https://passport.z-trip.cn/login页面的: ('xpath', "//input[@id='chkpersist']") 的元素
DEBUG  Log:logs.py:68 点击:https://passport.z-trip.cn/login页面,属性为('xpath', "//input[@id='chkpersist']")的元素
DEBUG  Log:logs.py:68 -开始-等待页面https://passport.z-trip.cn/login的元素('xpath', '//input[@type="button"]')可点击
DEBUG  Log:logs.py:68 页面https://passport.z-trip.cn/login上的元素('xpath', '//input[@type="button"]')已可点击共计等待0.01秒
DEBUG  Log:logs.py:68 正在定位https://passport.z-trip.cn/login页面的: ('xpath', '//input[@type="button"]') 的元素
DEBUG  Log:logs.py:68 点击:https://passport.z-trip.cn/login页面,属性为('xpath', '//input[@type="button"]')的元素
DEBUG  Log:logs.py:68 -开始-等待页面https://passport.z-trip.cn/login的元素('xpath', "//p[contains(text(),'蔡伟超')]")可见
DEBUG  Log:logs.py:68 页面https://passport.z-trip.cn/login上的元素('xpath', "//p[contains(text(),'蔡伟超')]")已可见共计等待5.09秒
DEBUG  Log:logs.py:68 正在定位https://passport.z-trip.cn/login页面的: ('xpath', "//p[contains(text(),'蔡伟超')]") 的元素
DEBUG  Log:logs.py:68 文本获取操作:获取https://passport.z-trip.cn/login页面下的属性为:('xpath', "//p[contains(text(),'蔡伟超')]")的元素的文本内容
DEBUG  Log:logs.py:68 用例执行完成截图成功文件名称为1711768988.0537002.png

View File

@ -1,50 +0,0 @@
DEBUG  Log:logs.py:68 -开始-等待页面https://admin.z-trip.cn/login?_top_=1的元素('id', 'input-username')可见
DEBUG  Log:logs.py:68 页面https://admin.z-trip.cn/login?_top_=1上的元素('id', 'input-username')已可见共计等待0.01秒
DEBUG  Log:logs.py:68 正在定位https://admin.z-trip.cn/login?_top_=1页面的: ('id', 'input-username') 的元素
DEBUG  Log:logs.py:68 输入操作:https://admin.z-trip.cn/login?_top_=1页面下的属性为:('id', 'input-username')的元素,输入内容为13248231369
DEBUG  Log:logs.py:68 -开始-等待页面https://admin.z-trip.cn/login?_top_=1的元素('xpath', '//input[@type="password"]')可见
DEBUG  Log:logs.py:68 页面https://admin.z-trip.cn/login?_top_=1上的元素('xpath', '//input[@type="password"]')已可见共计等待0.01秒
DEBUG  Log:logs.py:68 正在定位https://admin.z-trip.cn/login?_top_=1页面的: ('xpath', '//input[@type="password"]') 的元素
DEBUG  Log:logs.py:68 输入操作:https://admin.z-trip.cn/login?_top_=1页面下的属性为:('xpath', '//input[@type="password"]')的元素,输入内容为@Cai000000
DEBUG  Log:logs.py:68 -开始-等待页面https://admin.z-trip.cn/login?_top_=1的元素('xpath', '//button[text()="登录"]')可点击
DEBUG  Log:logs.py:68 页面https://admin.z-trip.cn/login?_top_=1上的元素('xpath', '//button[text()="登录"]')已可点击共计等待0.01秒
DEBUG  Log:logs.py:68 正在定位https://admin.z-trip.cn/login?_top_=1页面的: ('xpath', '//button[text()="登录"]') 的元素
DEBUG  Log:logs.py:68 点击:https://admin.z-trip.cn/login?_top_=1页面,属性为('xpath', '//button[text()="登录"]')的元素
DEBUG  Log:logs.py:68 判断https://admin.z-trip.cn/login?_top_=1页面的元素('xpath', '//div[@class="sys-nav"]/a[text()="注销"]')是否存在
DEBUG  Log:logs.py:68 -开始-等待页面exist的元素('xpath', '//div[@class="sys-nav"]/a[text()="注销"]')可见
DEBUG  Log:logs.py:68 页面exist上的元素('xpath', '//div[@class="sys-nav"]/a[text()="注销"]')已可见共计等待0.01秒
DEBUG  Log:logs.py:68 正在定位exist页面的: ('xpath', '//div[@class="sys-nav"]/a[text()="注销"]') 的元素
DEBUG  Log:logs.py:68 切换https://admin.z-trip.cn/vcommon/jsp/pss/tmc/searchUserPage页面的ifram('xpath', '//iframe')
DEBUG  Log:logs.py:68 -开始-等待页面https://admin.z-trip.cn/vcommon/jsp/pss/tmc/searchUserPage的元素('xpath', '//iframe')可见
DEBUG  Log:logs.py:68 页面https://admin.z-trip.cn/vcommon/jsp/pss/tmc/searchUserPage上的元素('xpath', '//iframe')已可见共计等待1.03秒
DEBUG  Log:logs.py:68 正在定位https://admin.z-trip.cn/vcommon/jsp/pss/tmc/searchUserPage页面的: ('xpath', '//iframe') 的元素
DEBUG  Log:logs.py:68 -开始-等待页面https://admin.z-trip.cn/vcommon/jsp/pss/tmc/searchUserPage的元素('xpath', "//input[@placeholder='姓名/拼音/手机/邮箱']")可见
DEBUG  Log:logs.py:68 页面https://admin.z-trip.cn/vcommon/jsp/pss/tmc/searchUserPage上的元素('xpath', "//input[@placeholder='姓名/拼音/手机/邮箱']")已可见共计等待0.01秒
DEBUG  Log:logs.py:68 正在定位https://admin.z-trip.cn/vcommon/jsp/pss/tmc/searchUserPage页面的: ('xpath', "//input[@placeholder='姓名/拼音/手机/邮箱']") 的元素
DEBUG  Log:logs.py:68 输入操作:https://admin.z-trip.cn/vcommon/jsp/pss/tmc/searchUserPage页面下的属性为:('xpath', "//input[@placeholder='姓名/拼音/手机/邮箱']")的元素,输入内容为蔡伟超
DEBUG  Log:logs.py:68 -开始-等待页面https://admin.z-trip.cn/vcommon/jsp/pss/tmc/searchUserPage的元素('xpath', '//button[contains(text(),"查询")]')可点击
DEBUG  Log:logs.py:68 页面https://admin.z-trip.cn/vcommon/jsp/pss/tmc/searchUserPage上的元素('xpath', '//button[contains(text(),"查询")]')已可点击共计等待0.01秒
DEBUG  Log:logs.py:68 正在定位https://admin.z-trip.cn/vcommon/jsp/pss/tmc/searchUserPage页面的: ('xpath', '//button[contains(text(),"查询")]') 的元素
DEBUG  Log:logs.py:68 点击:https://admin.z-trip.cn/vcommon/jsp/pss/tmc/searchUserPage页面,属性为('xpath', '//button[contains(text(),"查询")]')的元素
DEBUG  Log:logs.py:68 -开始-等待页面https://admin.z-trip.cn/vcommon/jsp/pss/tmc/searchUserPage的元素('xpath', "//a[text()='代客下单H5 »']")可点击
DEBUG  Log:logs.py:68 页面https://admin.z-trip.cn/vcommon/jsp/pss/tmc/searchUserPage上的元素('xpath', "//a[text()='代客下单H5 »']")已可点击共计等待1.03秒
DEBUG  Log:logs.py:68 正在定位https://admin.z-trip.cn/vcommon/jsp/pss/tmc/searchUserPage页面的: ('xpath', "//a[text()='代客下单H5 »']") 的元素
DEBUG  Log:logs.py:68 点击:https://admin.z-trip.cn/vcommon/jsp/pss/tmc/searchUserPage页面,属性为('xpath', "//a[text()='代客下单H5 »']")的元素
DEBUG  Log:logs.py:68 判断https://saic.service.z-trip.cn/home页面的元素('xpath', "//span[contains(@class,'name') and contains(text(),'蔡伟超')]")是否存在
DEBUG  Log:logs.py:68 -开始-等待页面exist的元素('xpath', "//span[contains(@class,'name') and contains(text(),'蔡伟超')]")可见
DEBUG  Log:logs.py:68 页面exist上的元素('xpath', "//span[contains(@class,'name') and contains(text(),'蔡伟超')]")已可见共计等待0.01秒
DEBUG  Log:logs.py:68 正在定位exist页面的: ('xpath', "//span[contains(@class,'name') and contains(text(),'蔡伟超')]") 的元素
DEBUG  Log:logs.py:68 判断https://saic.service.z-trip.cn/home页面的元素('xpath', "//span[contains(@class,'name') and contains(text(),'蔡伟超')]")是否存在
DEBUG  Log:logs.py:68 -开始-等待页面exist的元素('xpath', "//span[contains(@class,'name') and contains(text(),'蔡伟超')]")可见
DEBUG  Log:logs.py:68 页面exist上的元素('xpath', "//span[contains(@class,'name') and contains(text(),'蔡伟超')]")已可见共计等待0.02秒
DEBUG  Log:logs.py:68 正在定位exist页面的: ('xpath', "//span[contains(@class,'name') and contains(text(),'蔡伟超')]") 的元素
DEBUG  Log:logs.py:68 -开始-等待页面https://saic.service.z-trip.cn/home的元素('xpath', "//li[@id='mypage']")可点击
DEBUG  Log:logs.py:68 页面https://saic.service.z-trip.cn/home上的元素('xpath', "//li[@id='mypage']")已可点击共计等待0.01秒
DEBUG  Log:logs.py:68 正在定位https://saic.service.z-trip.cn/home页面的: ('xpath', "//li[@id='mypage']") 的元素
DEBUG  Log:logs.py:68 点击:https://saic.service.z-trip.cn/home页面,属性为('xpath', "//li[@id='mypage']")的元素
DEBUG  Log:logs.py:68 -开始-等待页面https://saic.service.z-trip.cn/common/mypage的元素('xpath', "//div[@class='name']//div")可见
DEBUG  Log:logs.py:68 页面https://saic.service.z-trip.cn/common/mypage上的元素('xpath', "//div[@class='name']//div")已可见共计等待1.03秒
DEBUG  Log:logs.py:68 正在定位https://saic.service.z-trip.cn/common/mypage页面的: ('xpath', "//div[@class='name']//div") 的元素
DEBUG  Log:logs.py:68 文本获取操作:获取https://saic.service.z-trip.cn/common/mypage页面下的属性为:('xpath', "//div[@class='name']//div")的元素的文本内容
DEBUG  Log:logs.py:68 用例执行完成截图成功文件名称为1711769025.034914.png
DEBUG  Log:logs.py:68 用例执行完成截图成功文件名称为1711769026.189253.png

View File

@ -1,2 +0,0 @@
"Epic","Feature","Story","FAILED","BROKEN","PASSED","SKIPPED","UNKNOWN"
"","","登录用例合集","3","0","1","0","0"
1 Epic Feature Story FAILED BROKEN PASSED SKIPPED UNKNOWN
2 登录用例合集 3 0 1 0 0

View File

@ -1 +0,0 @@
{"uid":"b1a8273437954620fa374b796ffaacdd","name":"behaviors","children":[{"name":"登录用例合集","children":[{"name":"登录-H5用户名密码登录","uid":"76f2c2bc9dc3a14f","parentUid":"5cf9d6ae0ea676f1f3973247f26c598f","status":"failed","time":{"start":1711768910233,"stop":1711768979422,"duration":69189},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":["pp","@pytest.mark.usefixtures('case_teardown_h5')"]},{"name":"登录-PC端登录","uid":"3a44948921b0187b","parentUid":"5cf9d6ae0ea676f1f3973247f26c598f","status":"failed","time":{"start":1711768980639,"stop":1711768987983,"duration":7344},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":["pp","@pytest.mark.usefixtures('case_teardown_h5')"]},{"name":"代客下单-后台代客下单到pc","uid":"9eaf38b3a1c900ec","parentUid":"5cf9d6ae0ea676f1f3973247f26c598f","status":"failed","time":{"start":1711768989222,"stop":1711769006513,"duration":17291},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":["pp","@pytest.mark.usefixtures('case_teardown_h5')"]},{"name":"代客下单-后台代客下单到H5","uid":"18feb626809ab3f0","parentUid":"5cf9d6ae0ea676f1f3973247f26c598f","status":"passed","time":{"start":1711769007680,"stop":1711769026189,"duration":18509},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":["pp","@pytest.mark.usefixtures('case_teardown_h5')"]}],"uid":"5cf9d6ae0ea676f1f3973247f26c598f"}]}

View File

@ -1,2 +0,0 @@
"Category","FAILED","BROKEN","PASSED","SKIPPED","UNKNOWN"
"Product defects","3","0","0","0","0"
1 Category FAILED BROKEN PASSED SKIPPED UNKNOWN
2 Product defects 3 0 0 0 0

View File

@ -1 +0,0 @@
{"uid":"4b4757e66a1912dae1a509f688f20b0f","name":"categories","children":[{"name":"Product defects","children":[{"name":"AssertionError: assert False is True\n + where False = <bound method IndexPage.check_login of <PageObject.PlatformPublic.H5.index_page.IndexPage object at 0x102c9dc30>>()\n + where <bound method IndexPage.check_login of <PageObject.PlatformPublic.H5.index_page.IndexPage object at 0x102c9dc30>> = <PageObject.PlatformPublic.H5.index_page.IndexPage object at 0x102c9dc30>.check_login\n + where <PageObject.PlatformPublic.H5.index_page.IndexPage object at 0x102c9dc30> = IndexPage(<selenium.webdriver.chrome.webdriver.WebDriver (session=\"35997527527872559de08d4e768973a7\")>)","children":[{"name":"登录-H5用户名密码登录","uid":"76f2c2bc9dc3a14f","parentUid":"36e4137ce111daed00fcfb31060503fa","status":"failed","time":{"start":1711768910233,"stop":1711768979422,"duration":69189},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":["pp","@pytest.mark.usefixtures('case_teardown_h5')"]}],"uid":"36e4137ce111daed00fcfb31060503fa"},{"name":"AssertionError: assert '蔡伟超' == '2蔡伟超'\n - 2蔡伟超\n ? -\n + 蔡伟超","children":[{"name":"登录-PC端登录","uid":"3a44948921b0187b","parentUid":"91b61e3e92b22d92b55fe6573dae0ac8","status":"failed","time":{"start":1711768980639,"stop":1711768987983,"duration":7344},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":["pp","@pytest.mark.usefixtures('case_teardown_h5')"]},{"name":"代客下单-后台代客下单到pc","uid":"9eaf38b3a1c900ec","parentUid":"91b61e3e92b22d92b55fe6573dae0ac8","status":"failed","time":{"start":1711768989222,"stop":1711769006513,"duration":17291},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":["pp","@pytest.mark.usefixtures('case_teardown_h5')"]}],"uid":"91b61e3e92b22d92b55fe6573dae0ac8"}],"uid":"8fb3a91ba5aaf9de24cc8a92edc82b5d"}]}

View File

@ -1 +0,0 @@
{"uid":"83edc06c07f9ae9e47eb6dd1b683e4e2","name":"packages","children":[{"name":"TestCase.TestCheck.Test_pp.test_login","children":[{"name":"登录-H5用户名密码登录","uid":"76f2c2bc9dc3a14f","parentUid":"b05c1a57c96b385c8421e2b047c57716","status":"failed","time":{"start":1711768910233,"stop":1711768979422,"duration":69189},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":["pp","@pytest.mark.usefixtures('case_teardown_h5')"]},{"name":"登录-PC端登录","uid":"3a44948921b0187b","parentUid":"b05c1a57c96b385c8421e2b047c57716","status":"failed","time":{"start":1711768980639,"stop":1711768987983,"duration":7344},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":["pp","@pytest.mark.usefixtures('case_teardown_h5')"]},{"name":"代客下单-后台代客下单到pc","uid":"9eaf38b3a1c900ec","parentUid":"b05c1a57c96b385c8421e2b047c57716","status":"failed","time":{"start":1711768989222,"stop":1711769006513,"duration":17291},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":["pp","@pytest.mark.usefixtures('case_teardown_h5')"]},{"name":"代客下单-后台代客下单到H5","uid":"18feb626809ab3f0","parentUid":"b05c1a57c96b385c8421e2b047c57716","status":"passed","time":{"start":1711769007680,"stop":1711769026189,"duration":18509},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":["pp","@pytest.mark.usefixtures('case_teardown_h5')"]}],"uid":"TestCase.TestCheck.Test_pp.test_login"}]}

View File

@ -1,5 +0,0 @@
"Status","Start Time","Stop Time","Duration in ms","Parent Suite","Suite","Sub Suite","Test Class","Test Method","Name","Description"
"passed","Sat Mar 30 11:23:27 CST 2024","Sat Mar 30 11:23:46 CST 2024","18509","TestCase.TestCheck.Test_pp","test_login","TestLogin","","","代客下单-后台代客下单到H5",""
"failed","Sat Mar 30 11:21:50 CST 2024","Sat Mar 30 11:22:59 CST 2024","69189","TestCase.TestCheck.Test_pp","test_login","TestLogin","","","登录-H5用户名密码登录",""
"failed","Sat Mar 30 11:23:09 CST 2024","Sat Mar 30 11:23:26 CST 2024","17291","TestCase.TestCheck.Test_pp","test_login","TestLogin","","","代客下单-后台代客下单到pc",""
"failed","Sat Mar 30 11:23:00 CST 2024","Sat Mar 30 11:23:07 CST 2024","7344","TestCase.TestCheck.Test_pp","test_login","TestLogin","","","登录-PC端登录",""
1 Status Start Time Stop Time Duration in ms Parent Suite Suite Sub Suite Test Class Test Method Name Description
2 passed Sat Mar 30 11:23:27 CST 2024 Sat Mar 30 11:23:46 CST 2024 18509 TestCase.TestCheck.Test_pp test_login TestLogin 代客下单-后台代客下单到H5
3 failed Sat Mar 30 11:21:50 CST 2024 Sat Mar 30 11:22:59 CST 2024 69189 TestCase.TestCheck.Test_pp test_login TestLogin 登录-H5用户名密码登录
4 failed Sat Mar 30 11:23:09 CST 2024 Sat Mar 30 11:23:26 CST 2024 17291 TestCase.TestCheck.Test_pp test_login TestLogin 代客下单-后台代客下单到pc
5 failed Sat Mar 30 11:23:00 CST 2024 Sat Mar 30 11:23:07 CST 2024 7344 TestCase.TestCheck.Test_pp test_login TestLogin 登录-PC端登录

View File

@ -1 +0,0 @@
{"uid":"98d3104e051c652961429bf95fa0b5d6","name":"suites","children":[{"name":"TestCase.TestCheck.Test_pp","children":[{"name":"test_login","children":[{"name":"TestLogin","children":[{"name":"登录-H5用户名密码登录","uid":"76f2c2bc9dc3a14f","parentUid":"df1633b75cf99f947ee06656f2e598bc","status":"failed","time":{"start":1711768910233,"stop":1711768979422,"duration":69189},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":["pp","@pytest.mark.usefixtures('case_teardown_h5')"]},{"name":"登录-PC端登录","uid":"3a44948921b0187b","parentUid":"df1633b75cf99f947ee06656f2e598bc","status":"failed","time":{"start":1711768980639,"stop":1711768987983,"duration":7344},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":["pp","@pytest.mark.usefixtures('case_teardown_h5')"]},{"name":"代客下单-后台代客下单到pc","uid":"9eaf38b3a1c900ec","parentUid":"df1633b75cf99f947ee06656f2e598bc","status":"failed","time":{"start":1711768989222,"stop":1711769006513,"duration":17291},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":["pp","@pytest.mark.usefixtures('case_teardown_h5')"]},{"name":"代客下单-后台代客下单到H5","uid":"18feb626809ab3f0","parentUid":"df1633b75cf99f947ee06656f2e598bc","status":"passed","time":{"start":1711769007680,"stop":1711769026189,"duration":18509},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":["pp","@pytest.mark.usefixtures('case_teardown_h5')"]}],"uid":"df1633b75cf99f947ee06656f2e598bc"}],"uid":"aa50c3674349ebe62846b4880229063d"}],"uid":"5ff32718bb0156572a7d88f67a692e02"}]}

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
{"uid":"ab17fc5a4eb3bca4b216b548c7f9fcbc","name":"timeline","children":[{"name":"caiweichaodeMacBook-Pro.local","children":[{"name":"47460-MainThread","children":[{"name":"代客下单-后台代客下单到H5","uid":"18feb626809ab3f0","parentUid":"4e0cecf666bf4a48b13ffbcf58438ce6","status":"passed","time":{"start":1711769007680,"stop":1711769026189,"duration":18509},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":["pp","@pytest.mark.usefixtures('case_teardown_h5')"]},{"name":"登录-PC端登录","uid":"3a44948921b0187b","parentUid":"4e0cecf666bf4a48b13ffbcf58438ce6","status":"failed","time":{"start":1711768980639,"stop":1711768987983,"duration":7344},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":["pp","@pytest.mark.usefixtures('case_teardown_h5')"]},{"name":"登录-H5用户名密码登录","uid":"76f2c2bc9dc3a14f","parentUid":"4e0cecf666bf4a48b13ffbcf58438ce6","status":"failed","time":{"start":1711768910233,"stop":1711768979422,"duration":69189},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":["pp","@pytest.mark.usefixtures('case_teardown_h5')"]},{"name":"代客下单-后台代客下单到pc","uid":"9eaf38b3a1c900ec","parentUid":"4e0cecf666bf4a48b13ffbcf58438ce6","status":"failed","time":{"start":1711768989222,"stop":1711769006513,"duration":17291},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":["pp","@pytest.mark.usefixtures('case_teardown_h5')"]}],"uid":"4e0cecf666bf4a48b13ffbcf58438ce6"}],"uid":"02adecf43a2e805cd0c6f715700a300f"}]}

View File

@ -1,12 +0,0 @@
launch_status failed=3 1711769066000000000
launch_status broken=0 1711769066000000000
launch_status passed=1 1711769066000000000
launch_status skipped=0 1711769066000000000
launch_status unknown=0 1711769066000000000
launch_time duration=115956 1711769066000000000
launch_time min_duration=7344 1711769066000000000
launch_time max_duration=69189 1711769066000000000
launch_time sum_duration=112333 1711769066000000000
launch_problems product_defects=3 1711769066000000000
launch_retries retries=0 1711769066000000000
launch_retries run=4 1711769066000000000

View File

@ -1,10 +0,0 @@
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Allure Report summary mail</title>
</head>
<body>
Mail body
</body>
</html>

View File

@ -1,12 +0,0 @@
launch_status_failed 3
launch_status_broken 0
launch_status_passed 1
launch_status_skipped 0
launch_status_unknown 0
launch_time_duration 115956
launch_time_min_duration 7344
launch_time_max_duration 69189
launch_time_sum_duration 112333
launch_problems_product_defects 3
launch_retries_retries 0
launch_retries_run 4

Binary file not shown.

Before

Width:  |  Height:  |  Size: 15 KiB

View File

@ -1 +0,0 @@
[{"data":{"Product defects":3}}]

View File

@ -1 +0,0 @@
[{"data":{"duration":115956}}]

View File

@ -1 +0,0 @@
[{"data":{"failed":3,"broken":0,"skipped":0,"passed":1,"unknown":0,"total":4}}]

View File

@ -1 +0,0 @@
{"4e04e6948b321124446d5ec27dbee4a4":{"statistic":{"failed":1,"broken":0,"skipped":0,"passed":0,"unknown":0,"total":1},"items":[{"uid":"3a44948921b0187b","status":"failed","statusDetails":"AssertionError: assert '蔡伟超' == '2蔡伟超'\n - 2蔡伟超\n ? -\n + 蔡伟超","time":{"start":1711768980639,"stop":1711768987983,"duration":7344}}]},"497df2a393e7d9f23330d2fa709cc5b3":{"statistic":{"failed":0,"broken":0,"skipped":0,"passed":1,"unknown":0,"total":1},"items":[{"uid":"18feb626809ab3f0","status":"passed","time":{"start":1711769007680,"stop":1711769026189,"duration":18509}}]},"695cd58ce0a7866483b0fb11be177ad9":{"statistic":{"failed":1,"broken":0,"skipped":0,"passed":0,"unknown":0,"total":1},"items":[{"uid":"9eaf38b3a1c900ec","status":"failed","statusDetails":"AssertionError: assert '蔡伟超' == '2蔡伟超'\n - 2蔡伟超\n ? -\n + 蔡伟超","time":{"start":1711768989222,"stop":1711769006513,"duration":17291}}]},"6a0573dbc0492ef6c831cda1f3354418":{"statistic":{"failed":1,"broken":0,"skipped":0,"passed":0,"unknown":0,"total":1},"items":[{"uid":"76f2c2bc9dc3a14f","status":"failed","statusDetails":"AssertionError: assert False is True\n + where False = <bound method IndexPage.check_login of <PageObject.PlatformPublic.H5.index_page.IndexPage object at 0x102c9dc30>>()\n + where <bound method IndexPage.check_login of <PageObject.PlatformPublic.H5.index_page.IndexPage object at 0x102c9dc30>> = <PageObject.PlatformPublic.H5.index_page.IndexPage object at 0x102c9dc30>.check_login\n + where <PageObject.PlatformPublic.H5.index_page.IndexPage object at 0x102c9dc30> = IndexPage(<selenium.webdriver.chrome.webdriver.WebDriver (session=\"35997527527872559de08d4e768973a7\")>)","time":{"start":1711768910233,"stop":1711768979422,"duration":69189}}]}}

View File

@ -1 +0,0 @@
[{"data":{"run":4,"retry":0}}]

View File

@ -1,34 +0,0 @@
<!DOCTYPE html>
<html dir="ltr" lang="en">
<head>
<meta charset="utf-8">
<title>Allure Report</title>
<link rel="icon" href="favicon.ico">
<link rel="stylesheet" type="text/css" href="styles.css">
<link rel="stylesheet" type="text/css" href="plugin/screen-diff/styles.css">
</head>
<body>
<div id="alert"></div>
<div id="content">
<span class="spinner">
<span class="spinner__circle"></span>
</span>
</div>
<div id="popup"></div>
<script src="app.js"></script>
<script src="plugin/behaviors/index.js"></script>
<script src="plugin/packages/index.js"></script>
<script src="plugin/screen-diff/index.js"></script>
<script async src="https://www.googletagmanager.com/gtag/js?id=G-FVWC4GKEYS"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-FVWC4GKEYS', {
'allureVersion': 'dev',
'reportUuid': 'dd95c05c-a591-4375-8dc8-5ac56740a70a',
'single_file': false
});
</script>
</body>
</html>

View File

@ -1,206 +0,0 @@
'use strict';
allure.api.addTranslation('en', {
tab: {
behaviors: {
name: 'Behaviors'
}
},
widget: {
behaviors: {
name: 'Features by stories',
showAll: 'show all'
}
}
});
allure.api.addTranslation('ru', {
tab: {
behaviors: {
name: 'Функциональность'
}
},
widget: {
behaviors: {
name: 'Функциональность',
showAll: 'показать все'
}
}
});
allure.api.addTranslation('zh', {
tab: {
behaviors: {
name: '功能'
}
},
widget: {
behaviors: {
name: '特性场景',
showAll: '显示所有'
}
}
});
allure.api.addTranslation('de', {
tab: {
behaviors: {
name: 'Verhalten'
}
},
widget: {
behaviors: {
name: 'Features nach Stories',
showAll: 'Zeige alle'
}
}
});
allure.api.addTranslation('nl', {
tab: {
behaviors: {
name: 'Functionaliteit'
}
},
widget: {
behaviors: {
name: 'Features en storys',
showAll: 'Toon alle'
}
}
});
allure.api.addTranslation('he', {
tab: {
behaviors: {
name: 'התנהגויות'
}
},
widget: {
behaviors: {
name: 'תכונות לפי סיפורי משתמש',
showAll: 'הצג הכול'
}
}
});
allure.api.addTranslation('br', {
tab: {
behaviors: {
name: 'Comportamentos'
}
},
widget: {
behaviors: {
name: 'Funcionalidades por história',
showAll: 'Mostrar tudo'
}
}
});
allure.api.addTranslation('ja', {
tab: {
behaviors: {
name: '振る舞い'
}
},
widget: {
behaviors: {
name: 'ストーリー別の機能',
showAll: '全て表示'
}
}
});
allure.api.addTranslation('es', {
tab: {
behaviors: {
name: 'Funcionalidades'
}
},
widget: {
behaviors: {
name: 'Funcionalidades por Historias de Usuario',
showAll: 'mostrar todo'
}
}
});
allure.api.addTranslation('kr', {
tab: {
behaviors: {
name: '동작'
}
},
widget: {
behaviors: {
name: '스토리별 기능',
showAll: '전체 보기'
}
}
});
allure.api.addTranslation('fr', {
tab: {
behaviors: {
name: 'Comportements'
}
},
widget: {
behaviors: {
name: 'Thèmes par histoires',
showAll: 'Montrer tout'
}
}
});
allure.api.addTranslation('pl', {
tab: {
behaviors: {
name: 'Zachowania'
}
},
widget: {
behaviors: {
name: 'Funkcje według historii',
showAll: 'pokaż wszystko'
}
}
});
allure.api.addTranslation('az', {
tab: {
behaviors: {
name: 'Davranışlar'
}
},
widget: {
behaviors: {
name: 'Hekayələr üzrə xüsusiyyətlər',
showAll: 'hamısını göstər'
}
}
});
allure.api.addTab('behaviors', {
title: 'tab.behaviors.name', icon: 'fa fa-list',
route: 'behaviors(/)(:testGroup)(/)(:testResult)(/)(:testResultTab)(/)',
onEnter: (function (testGroup, testResult, testResultTab) {
return new allure.components.TreeLayout({
testGroup: testGroup,
testResult: testResult,
testResultTab: testResultTab,
tabName: 'tab.behaviors.name',
baseUrl: 'behaviors',
url: 'data/behaviors.json',
csvUrl: 'data/behaviors.csv'
});
})
});
allure.api.addWidget('widgets', 'behaviors', allure.components.WidgetStatusView.extend({
rowTag: 'a',
title: 'widget.behaviors.name',
baseUrl: 'behaviors',
showLinks: true
}));

View File

@ -1,120 +0,0 @@
'use strict';
allure.api.addTranslation('en', {
tab: {
packages: {
name: 'Packages'
}
}
});
allure.api.addTranslation('ru', {
tab: {
packages: {
name: 'Пакеты'
}
}
});
allure.api.addTranslation('zh', {
tab: {
packages: {
name: '包'
}
}
});
allure.api.addTranslation('de', {
tab: {
packages: {
name: 'Pakete'
}
}
});
allure.api.addTranslation('nl', {
tab: {
packages: {
name: 'Packages'
}
}
});
allure.api.addTranslation('he', {
tab: {
packages: {
name: 'חבילות'
}
}
});
allure.api.addTranslation('br', {
tab: {
packages: {
name: 'Pacotes'
}
}
});
allure.api.addTranslation('ja', {
tab: {
packages: {
name: 'パッケージ'
}
}
});
allure.api.addTranslation('es', {
tab: {
packages: {
name: 'Paquetes'
}
}
});
allure.api.addTranslation('kr', {
tab: {
packages: {
name: '패키지'
}
}
});
allure.api.addTranslation('fr', {
tab: {
packages: {
name: 'Paquets'
}
}
});
allure.api.addTranslation('pl', {
tab: {
packages: {
name: 'Pakiety'
}
}
});
allure.api.addTranslation('az', {
tab: {
packages: {
name: 'Paketlər'
}
}
});
allure.api.addTab('packages', {
title: 'tab.packages.name', icon: 'fa fa-align-left',
route: 'packages(/)(:testGroup)(/)(:testResult)(/)(:testResultTab)(/)',
onEnter: (function (testGroup, testResult, testResultTab) {
return new allure.components.TreeLayout({
testGroup: testGroup,
testResult: testResult,
testResultTab: testResultTab,
tabName: 'tab.packages.name',
baseUrl: 'packages',
url: 'data/packages.json'
});
})
});

View File

@ -1,200 +0,0 @@
(function () {
var settings = allure.getPluginSettings('screen-diff', { diffType: 'diff' });
function renderImage(src) {
return (
'<div class="screen-diff__container">' +
'<img class="screen-diff__image" src="' +
src +
'">' +
'</div>'
);
}
function findImage(data, name) {
if (data.testStage && data.testStage.attachments) {
var matchedImage = data.testStage.attachments.filter(function (attachment) {
return attachment.name === name;
})[0];
if (matchedImage) {
return 'data/attachments/' + matchedImage.source;
}
}
return null;
}
function renderDiffContent(type, diffImage, actualImage, expectedImage) {
if (type === 'diff') {
if (diffImage) {
return renderImage(diffImage);
}
}
if (type === 'overlay' && expectedImage) {
return (
'<div class="screen-diff__overlay screen-diff__container">' +
'<img class="screen-diff__image" src="' +
expectedImage +
'">' +
'<div class="screen-diff__image-over">' +
'<img class="screen-diff__image" src="' +
actualImage +
'">' +
'</div>' +
'</div>'
);
}
if (actualImage) {
return renderImage(actualImage);
}
return 'No diff data provided';
}
var TestResultView = Backbone.Marionette.View.extend({
regions: {
subView: '.screen-diff-view',
},
template: function () {
return '<div class="screen-diff-view"></div>';
},
onRender: function () {
var data = this.model.toJSON();
var testType = data.labels.filter(function (label) {
return label.name === 'testType';
})[0];
var diffImage = findImage(data, 'diff');
var actualImage = findImage(data, 'actual');
var expectedImage = findImage(data, 'expected');
if (!testType || testType.value !== 'screenshotDiff') {
return;
}
this.showChildView(
'subView',
new ScreenDiffView({
diffImage: diffImage,
actualImage: actualImage,
expectedImage: expectedImage,
}),
);
},
});
var ErrorView = Backbone.Marionette.View.extend({
templateContext: function () {
return this.options;
},
template: function (data) {
return '<pre class="screen-diff-error">' + data.error + '</pre>';
},
});
var AttachmentView = Backbone.Marionette.View.extend({
regions: {
subView: '.screen-diff-view',
},
template: function () {
return '<div class="screen-diff-view"></div>';
},
onRender: function () {
jQuery
.getJSON(this.options.sourceUrl)
.then(this.renderScreenDiffView.bind(this), this.renderErrorView.bind(this));
},
renderErrorView: function (error) {
console.log(error);
this.showChildView(
'subView',
new ErrorView({
error: error.statusText,
}),
);
},
renderScreenDiffView: function (data) {
this.showChildView(
'subView',
new ScreenDiffView({
diffImage: data.diff,
actualImage: data.actual,
expectedImage: data.expected,
}),
);
},
});
var ScreenDiffView = Backbone.Marionette.View.extend({
className: 'pane__section',
events: function () {
return {
['click [name="screen-diff-type-' + this.cid + '"]']: 'onDiffTypeChange',
'mousemove .screen-diff__overlay': 'onOverlayMove',
};
},
initialize: function (options) {
this.diffImage = options.diffImage;
this.actualImage = options.actualImage;
this.expectedImage = options.expectedImage;
this.radioName = 'screen-diff-type-' + this.cid;
},
templateContext: function () {
return {
diffType: settings.get('diffType'),
diffImage: this.diffImage,
actualImage: this.actualImage,
expectedImage: this.expectedImage,
radioName: this.radioName,
};
},
template: function (data) {
if (!data.diffImage && !data.actualImage && !data.expectedImage) {
return '';
}
return (
'<h3 class="pane__section-title">Screen Diff</h3>' +
'<div class="screen-diff__content">' +
'<div class="screen-diff__switchers">' +
'<label><input type="radio" name="' +
data.radioName +
'" value="diff"> Show diff</label>' +
'<label><input type="radio" name="' +
data.radioName +
'" value="overlay"> Show overlay</label>' +
'</div>' +
renderDiffContent(
data.diffType,
data.diffImage,
data.actualImage,
data.expectedImage,
) +
'</div>'
);
},
adjustImageSize: function (event) {
var overImage = this.$(event.target);
overImage.width(overImage.width());
},
onRender: function () {
const diffType = settings.get('diffType');
this.$('[name="' + this.radioName + '"][value="' + diffType + '"]').prop(
'checked',
true,
);
if (diffType === 'overlay') {
this.$('.screen-diff__image-over img').on('load', this.adjustImageSize.bind(this));
}
},
onOverlayMove: function (event) {
var pageX = event.pageX;
var containerScroll = this.$('.screen-diff__container').scrollLeft();
var elementX = event.currentTarget.getBoundingClientRect().left;
var delta = pageX - elementX + containerScroll;
this.$('.screen-diff__image-over').width(delta);
},
onDiffTypeChange: function (event) {
settings.save('diffType', event.target.value);
this.render();
},
});
allure.api.addTestResultBlock(TestResultView, { position: 'before' });
allure.api.addAttachmentViewer('application/vnd.allure.image.diff', {
View: AttachmentView,
icon: 'fa fa-exchange',
});
})();

View File

@ -1,30 +0,0 @@
.screen-diff__switchers {
margin-bottom: 1em;
}
.screen-diff__switchers label + label {
margin-left: 1em;
}
.screen-diff__overlay {
position: relative;
cursor: col-resize;
}
.screen-diff__container {
overflow-x: auto;
}
.screen-diff__image-over {
top: 0;
left: 0;
bottom: 0;
background: #fff;
position: absolute;
overflow: hidden;
box-shadow: 2px 0 1px -1px #aaa;
}
.screen-diff-error {
color: #fd5a3e;
}

File diff suppressed because one or more lines are too long

View File

@ -1 +0,0 @@
{"total":1,"items":[{"uid":"5cf9d6ae0ea676f1f3973247f26c598f","name":"登录用例合集","statistic":{"failed":3,"broken":0,"skipped":0,"passed":1,"unknown":0,"total":4}}]}

View File

@ -1 +0,0 @@
[{"data":{"Product defects":3}}]

View File

@ -1 +0,0 @@
{"total":1,"items":[{"uid":"8fb3a91ba5aaf9de24cc8a92edc82b5d","name":"Product defects","statistic":{"failed":3,"broken":0,"skipped":0,"passed":0,"unknown":0,"total":3}}]}

View File

@ -1 +0,0 @@
[{"data":{"duration":115956}}]

View File

@ -1 +0,0 @@
[{"uid":"18feb626809ab3f0","name":"代客下单-后台代客下单到H5","time":{"start":1711769007680,"stop":1711769026189,"duration":18509},"status":"passed","severity":"normal"},{"uid":"76f2c2bc9dc3a14f","name":"登录-H5用户名密码登录","time":{"start":1711768910233,"stop":1711768979422,"duration":69189},"status":"failed","severity":"normal"},{"uid":"9eaf38b3a1c900ec","name":"代客下单-后台代客下单到pc","time":{"start":1711768989222,"stop":1711769006513,"duration":17291},"status":"failed","severity":"normal"},{"uid":"3a44948921b0187b","name":"登录-PC端登录","time":{"start":1711768980639,"stop":1711768987983,"duration":7344},"status":"failed","severity":"normal"}]

View File

@ -1 +0,0 @@
[]

View File

@ -1 +0,0 @@
[]

View File

@ -1 +0,0 @@
[{"data":{"failed":3,"broken":0,"skipped":0,"passed":1,"unknown":0,"total":4}}]

View File

@ -1 +0,0 @@
[]

View File

@ -1 +0,0 @@
[{"data":{"run":4,"retry":0}}]

View File

@ -1 +0,0 @@
[{"uid":"76f2c2bc9dc3a14f","name":"登录-H5用户名密码登录","time":{"start":1711768910233,"stop":1711768979422,"duration":69189},"status":"failed","severity":"normal"},{"uid":"9eaf38b3a1c900ec","name":"代客下单-后台代客下单到pc","time":{"start":1711768989222,"stop":1711769006513,"duration":17291},"status":"failed","severity":"normal"},{"uid":"18feb626809ab3f0","name":"代客下单-后台代客下单到H5","time":{"start":1711769007680,"stop":1711769026189,"duration":18509},"status":"passed","severity":"normal"},{"uid":"3a44948921b0187b","name":"登录-PC端登录","time":{"start":1711768980639,"stop":1711768987983,"duration":7344},"status":"failed","severity":"normal"}]

View File

@ -1 +0,0 @@
[{"uid":"18feb626809ab3f0","name":"代客下单-后台代客下单到H5","time":{"start":1711769007680,"stop":1711769026189,"duration":18509},"status":"passed","severity":"normal"},{"uid":"76f2c2bc9dc3a14f","name":"登录-H5用户名密码登录","time":{"start":1711768910233,"stop":1711768979422,"duration":69189},"status":"failed","severity":"normal"},{"uid":"9eaf38b3a1c900ec","name":"代客下单-后台代客下单到pc","time":{"start":1711768989222,"stop":1711769006513,"duration":17291},"status":"failed","severity":"normal"},{"uid":"3a44948921b0187b","name":"登录-PC端登录","time":{"start":1711768980639,"stop":1711768987983,"duration":7344},"status":"failed","severity":"normal"}]

View File

@ -1 +0,0 @@
{"total":1,"items":[{"uid":"5ff32718bb0156572a7d88f67a692e02","name":"TestCase.TestCheck.Test_pp","statistic":{"failed":3,"broken":0,"skipped":0,"passed":1,"unknown":0,"total":4}}]}

View File

@ -1 +0,0 @@
{"reportName":"Allure Report","testRuns":[],"statistic":{"failed":3,"broken":0,"skipped":0,"passed":1,"unknown":0,"total":4},"time":{"start":1711768910233,"stop":1711769026189,"duration":115956,"minDuration":7344,"maxDuration":69189,"sumDuration":112333}}

BIN
img.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB

BIN
readme_img/img_6.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 105 KiB