Commit 1c45ce55 by Administrator

2.19提交

parent 312ceaa0
...@@ -98,37 +98,5 @@ class BasePage: ...@@ -98,37 +98,5 @@ class BasePage:
time.sleep(2) time.sleep(2)
# # 设置日志记录器 # # 设置日志记录器
# def set_logger(self):
# # 检查记录器是否已经存在,如果存在,则直接返回
# if self.logger:
# return
#
# logging.basicConfig(level=logging.INFO)
# self.logger = logging.getLogger(__name__)
# # 创建一个处理程序,用于输出到控制台
# console_handler = logging.StreamHandler()
# console_handler.setLevel(logging.INFO)
# # 创建一个处理程序,用于输出到文件
# self.file_handler = logging.FileHandler('business_knowledge1.log', encoding='utf-8')
# self.file_handler.setLevel(logging.INFO)
# # 创建一个格式化器,用于设置日志格式
# formatter = logging.Formatter('%(asctime)s - %(name)s - %(levelname)s - %(message)s')
# # 将格式化器添加到处理程序
# console_handler.setFormatter(formatter)
# self.file_handler.setFormatter(formatter)
# # 先清空已有的处理程序
# self.logger.handlers.clear()
# # 检查记录器中是否已经存在相同类型的处理程序,如果不存在,则添加
# if console_handler not in self.logger.handlers:
# self.logger.addHandler(console_handler)
# if self.file_handler not in self.logger.handlers:
# self.logger.addHandler(self.file_handler)
# print(len(self.logger.handlers))
#
# def log_info(self, message):
# self.logger.info(message)
# #
# def close_logger(self):
# self.file_handler.close()
...@@ -144,6 +144,7 @@ class BusinessKnowledgePage(BasePage): ...@@ -144,6 +144,7 @@ class BusinessKnowledgePage(BasePage):
actual_document_name = document.find_element(By.XPATH,"./td[2]/div/div").get_attribute("title") actual_document_name = document.find_element(By.XPATH,"./td[2]/div/div").get_attribute("title")
if not actual_document_name.find(key_name): if not actual_document_name.find(key_name):
flag = False flag = False
logger.info("实际文档名:",actual_document_name,"关键词:",key_name)
logger.info("搜索失败,搜索出额外文档") logger.info("搜索失败,搜索出额外文档")
return flag return flag
return flag return flag
......
from selenium.webdriver.common.by import By
from Pages.businessKnowledge_page import BusinessKnowledgePage
from Pages.login_page import LoginPage
from Util.Util import DriverUtils
import time
from loguru import logger
def setup_class(self):
# 在所有的测试用例脚本之前执行一次
# 完成公共部分初始化
self.driver = DriverUtils.get_web_driver()
self.login_page = LoginPage()
self.business_page = BusinessKnowledgePage()
def teardown_class(self):
# 在所有的测试用例脚本之后执行一次
self.driver.quit()
pass
def setup_method(self):
# 在每个测试用例脚本之前执行一次
self.driver.get('https://rays7.raysgo.com/login')
self.login_page.login_username("17373027967", "3149390154Li")
self.business_page.entranceAi() # 进入AI编辑室
self.business_page.entranceBusinessKnowledge() # 进入企业知识库
time.sleep(3)
def teardown_method(self):
# 在每个测试用例脚本之后执行一次
pass
\ No newline at end of file
...@@ -8,6 +8,11 @@ from loguru import logger ...@@ -8,6 +8,11 @@ from loguru import logger
class TestBusinessKnowledge: class TestBusinessKnowledge:
# def __init__(self):
# self.login_page = LoginPage()
# self.business_page = BusinessKnowledgePage()
def setup_class(self): def setup_class(self):
# 在所有的测试用例脚本之前执行一次 # 在所有的测试用例脚本之前执行一次
# 完成公共部分初始化 # 完成公共部分初始化
...@@ -71,7 +76,9 @@ class TestBusinessKnowledge: ...@@ -71,7 +76,9 @@ class TestBusinessKnowledge:
flag = self.business_page.isExistKeyInDocument(key_name,documents) flag = self.business_page.isExistKeyInDocument(key_name,documents)
assert flag == True assert flag == True
except Exception as e: except Exception as e:
logger.info(f"发生报错:报错信息为{e}") logger.error(f"发生报错:报错信息为{e}")
assert 0 == 1
# 文档上传 # 文档上传
def test_upload_document_case001(self): def test_upload_document_case001(self):
......
import pymysql
# 第一步:连接数据库,获取对象
conn = pymysql.connect(
user="root",
password="LGSC2016.lgsc",
database="test_liying",
port=3306,
host="192.168.92.41",
charset="utf8mb4", # 中文字符集 语法记住即可
)
# 查询(执行sql语句),执行之前,需要获取游标
# 游标-指针:读到哪一行,游标在哪一行
# 如果后面继续读取,从游标的位置开始
cursor = conn.cursor()
# 执行sql
sql = ''
cursor.execute(sql)
# 从查询集结果当中,获取一条数据
cursor.fetchone()
# 从查询结果集当中,获取指定条数的数据
cursor.fetchmany("1")
# 从查询结果集当中,获取所有的数据
cursor.fetchall()
# 关闭数据库连接
cursor.close()
conn.close()
PO设计模式-UI自动化 PO设计模式-UI自动化
把每个页面所需要操作的元素和步骤都封装程一个页面类 把每个页面所需要操作的元素和步骤都封装程一个页面类
然后使用selenium+pytest搭建四层框架 然后使用selenium+pytest搭建四层框架
基础层BasePage 1)数据层Data-数据库操作 测试用例数据,数据库连接数据 ,项目配置数据等 ---【数据分离思想】
业务逻辑层Pages 2)基础层BasePage
数据层Data-数据库操作 3)业务逻辑层Pages
测试用例层TestCases 4)测试用例层TestCases 写各个模块测试用例 -登录 注册 购物车 支付 -- pytest表示和收集执行测试用例 --【数据驱动思想】
输出层:日志+HTML报告-output层 5)输出层:日志+HTML报告-output层
工具层:util 6)工具层UTIL:封装各种可能不会重复使用到的一些功能方法 -- 函数+类。比如数据库,操作excel方法等。
\ No newline at end of file 入口文件: run.py main.py == 启动文件。
【代码封装思想】【代码分层思想】
手工测试和自动化测试的思路流程: --任何语言都是一样的 通用的
手工执行测试:
熟悉业务-- 写用例(分模块)-- 执行用例并记录 -生成本轮的测试报告
自动化测试:
熟悉业务 -- 写用例(手工用例转化为自动化测试用例)-- 用代码表达
用例 (代码写出用例) -- 代码收集测试用例-- 代码执行测试用例 -- 代
码生成测试报告。
自动化的思路基本是跟手工测试一样的,建立在手工测试基础上的一种更高效
率的进阶和升华。
测试框架 : unittest pytest,技术栈,提供了表示测试用例,发现测试用例,
执行测试用例。生成测试结果报告...
自动化测试框架:利用好技术栈
【python+loguru+openpyxl+pytest+allure+requests】+【代码封装思想
+数据分离思想+代码分层思想+数据驱动思想】
pytest用例语法规则:
1.测试函数名:test_开头
2.测试类:Test开头
问题:如果不想要收集所有的用例呢? 执行部分或者某些用例怎么实现?
方式一: 修改文件和用例方法的名字
方式二: 指定目录和文件执行 ,加参数控制
方式三: 加标签【类比手工测试用例的优先级: P1 P2 P3 P4
(important critical major) high medium low】, 加参数过滤用例
用例定义的加一个标签 : 用装饰器形式:@pytest.mark.p2
执行的时候 加参数 -m 标签
import pytest
#加一个参数:--alluredir=相对于rootdir的目录
pytest.main(["--alluredir=reports_allure"])
# 每次执行一次就会又重复生成结果文件不会清楚;会影响报告结果,所以
需要加一个清除的参数:
pytest.main(["-v","--alluredir=reports/allure",
"--clean-alluredir"]) # 清除上次执行的结果文件
pytest的数据驱动: data deriven test,是一种设计思想;
在什么场景下可以使用这种思想:
1)有一个通用的流程:不同的测试数据使用的同一个方法执行;【高铁站
进站 - 验票-安检-上车-】
2) 多组数据,都走这个流程;不同的数据使用同一个方法 驱动不同的结
果。
引申到测试用例里使用: 一条用例测试方法 执行多条测试用例数据 从而得
到不同的测试用例执行结果。
DDT语法:
@pytest.mark.parametrize 是个装饰器,里面两个数据: data 和 data_all意思就是: 将data_all里每个成员传递给data这个变量接受;
注意:data要加引号
后面的用例里的参数data 都是必须要要跟这个装饰器里的data保持一致。
运行结果:
会运行3条测试用例: 几条数据就运行几条测试用例
然后就算前面的断言失败了,也依然会允许后续的用例。
写法:
class TestDemoC:
@pytest.mark.parametrize("变量名",装用例的列表/字典/元组)
def test_login(变量名): # 注意,变量名跟装饰器里的变量名保持
一致
res = login(变量名["name"],变量名["pwd"])
assert res == 变量名["expect"]
或者
@pytest.mark.parametrize("变量名",装用例的列表/字典/元组)
class TestDemoC:
def test_login1(变量名): # 注意,变量名跟装饰器里的变量名保
持一致
res = login(变量名["name"],变量名["pwd"])
assert res == 变量名["expect"]
def test_login2(变量名): # 注意,变量名跟装饰器里的变量名保
持一致
res = login(变量名["name"],变量名["pwd"])
assert res == 变量名["expect"]
数据驱动作用:
简化代码: 一个方法执行多条测试的用例
测试数据集中管理
注意: 并不是所有都适合数据驱动 ,只有方法固定 数据不同 结果不同的
用例方法才适合 【接口适合】,但是UI适合么?
UI自动化因为每个用例的页面 和操作步骤都不一样的 所以不太适合
数据驱动。-PO模式 basepage模式 【登录模块--正常数据-跳转 断
言不一样; 异常的数据-本页面报错,断言】
接口非常适合,接口基本都会使用数据驱动。- DDT 【接口: 登录
方法一样 测试数据不一样的】
pytest的前置后置-夹具 fixture 用例的前置 和后置
有些内容是在每个用例我执行之前都要运行操作:
接口: 购物车模块先登录 --登录结果
UI: 每次用例 打开浏览器 --driver
有些内容再每个用例之后都要运行操作:
接口: 数据清除
UI:关闭浏览器
写法:
@pytest.fixture # 申明它是一个fixture的函数
def setup_teardown():
print("我是前置代码..")
print("我是后置代码..")
def test_demo(setup_teardown):
assert 1 == 1
import pytest
@pytest.fixture # 申明它是一个fixture的函数
def setup_teardown():
print("我是前置代码..")
yield # 作为前置和后置的划分线,后面还可以定义夹具的返回
值。
print("我是后置代码..")
{"uuid": "9cdca5b0-43f5-4490-b4cd-a0c893e18580", "children": ["01148645-cb03-4b27-b761-f58e26ac96bc", "9a784c51-3cc7-49ae-b7a1-47ba1ab5801c", "f0ce8e48-e670-4d6b-a167-ac34a4a102ad"], "befores": [{"name": "_xunit_setup_class_fixture_TestLogin", "status": "passed", "start": 1708290024155, "stop": 1708290025706}], "afters": [{"name": "_xunit_setup_class_fixture_TestLogin::0", "status": "passed", "start": 1708290083429, "stop": 1708290085603}], "start": 1708290024155, "stop": 1708290085603}
\ No newline at end of file
{"uuid": "db984f55-55de-405a-aad6-e62985dab687", "children": ["f0ce8e48-e670-4d6b-a167-ac34a4a102ad"], "befores": [{"name": "_xunit_setup_method_fixture_TestLogin", "status": "passed", "start": 1708290063469, "stop": 1708290073140}], "afters": [{"name": "_xunit_setup_method_fixture_TestLogin::0", "status": "passed", "start": 1708290083429, "stop": 1708290083429}], "start": 1708290063469, "stop": 1708290083429}
\ No newline at end of file
{"uuid": "e09211e3-c560-4847-91a0-0cf323623294", "children": ["01148645-cb03-4b27-b761-f58e26ac96bc"], "befores": [{"name": "_xunit_setup_method_fixture_TestLogin", "status": "passed", "start": 1708290025706, "stop": 1708290034849}], "afters": [{"name": "_xunit_setup_method_fixture_TestLogin::0", "status": "passed", "start": 1708290045142, "stop": 1708290045142}], "start": 1708290025706, "stop": 1708290045142}
\ No newline at end of file
{"uuid": "2c3178de-0c2e-4686-9420-93021eb1c688", "children": ["9a784c51-3cc7-49ae-b7a1-47ba1ab5801c"], "befores": [{"name": "_xunit_setup_method_fixture_TestLogin", "status": "passed", "start": 1708290045147, "stop": 1708290053182}], "afters": [{"name": "_xunit_setup_method_fixture_TestLogin::0", "status": "passed", "start": 1708290063469, "stop": 1708290063469}], "start": 1708290045147, "stop": 1708290063469}
\ No newline at end of file
{"name": "test_login_invalid_username", "status": "passed", "start": 1708290053182, "stop": 1708290063469, "uuid": "9a784c51-3cc7-49ae-b7a1-47ba1ab5801c", "historyId": "26544122cf70e22e96bace727415c5ce", "testCaseId": "26544122cf70e22e96bace727415c5ce", "fullName": "TestCases.test_login.TestLogin#test_login_invalid_username", "labels": [{"name": "parentSuite", "value": "TestCases"}, {"name": "suite", "value": "test_login"}, {"name": "subSuite", "value": "TestLogin"}, {"name": "host", "value": "DCG027335"}, {"name": "thread", "value": "3052-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "TestCases.test_login"}]}
\ No newline at end of file
2024-02-19 05:00:45.136 | INFO  | test_login:test_login_success_case001:43 - 登陆成功
{"name": "test_login_success_case001", "status": "passed", "attachments": [{"name": "stdout", "source": "84f172c5-fcb9-457a-8ab5-97db524038fb-attachment.txt", "type": "text/plain"}, {"name": "stderr", "source": "9a7c91d1-29fd-45b1-a969-773ff62ce369-attachment.txt", "type": "text/plain"}], "start": 1708290034849, "stop": 1708290045141, "uuid": "01148645-cb03-4b27-b761-f58e26ac96bc", "historyId": "5452e80e131503044fb24882c5820a04", "testCaseId": "5452e80e131503044fb24882c5820a04", "fullName": "TestCases.test_login.TestLogin#test_login_success_case001", "labels": [{"name": "tag", "value": "run(order=1)"}, {"name": "parentSuite", "value": "TestCases"}, {"name": "suite", "value": "test_login"}, {"name": "subSuite", "value": "TestLogin"}, {"name": "host", "value": "DCG027335"}, {"name": "thread", "value": "3052-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "TestCases.test_login"}]}
\ No newline at end of file
{"name": "test_login_invalid_password", "status": "passed", "start": 1708290073140, "stop": 1708290083429, "uuid": "f0ce8e48-e670-4d6b-a167-ac34a4a102ad", "historyId": "bf01a7f441fea677280889d0ba346cc6", "testCaseId": "bf01a7f441fea677280889d0ba346cc6", "fullName": "TestCases.test_login.TestLogin#test_login_invalid_password", "labels": [{"name": "parentSuite", "value": "TestCases"}, {"name": "suite", "value": "test_login"}, {"name": "subSuite", "value": "TestLogin"}, {"name": "host", "value": "DCG027335"}, {"name": "thread", "value": "3052-MainThread"}, {"name": "framework", "value": "pytest"}, {"name": "language", "value": "cpython3"}, {"name": "package", "value": "TestCases.test_login"}]}
\ No newline at end of file
2024-02-19 05:00:45.136 | INFO  | test_login:test_login_success_case001:43 - 登陆成功
"Epic","Feature","Story","FAILED","BROKEN","PASSED","SKIPPED","UNKNOWN" "Epic","Feature","Story","FAILED","BROKEN","PASSED","SKIPPED","UNKNOWN"
"","","","0","0","3","0","0" "","","","0","3","0","0","0"
{"uid":"b1a8273437954620fa374b796ffaacdd","children":[{"name":"test_login_success_case001","uid":"ef580f8a535da18e","parentUid":"b1a8273437954620fa374b796ffaacdd","status":"passed","time":{"start":1708290034849,"stop":1708290045141,"duration":10292},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":["run(order=1)"]},{"name":"test_login_invalid_username","uid":"5f69d1be31b5ea2d","parentUid":"b1a8273437954620fa374b796ffaacdd","status":"passed","time":{"start":1708290053182,"stop":1708290063469,"duration":10287},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":[]},{"name":"test_login_invalid_password","uid":"c0c32a357b6b4017","parentUid":"b1a8273437954620fa374b796ffaacdd","status":"passed","time":{"start":1708290073140,"stop":1708290083429,"duration":10289},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":[]}],"name":"behaviors"} {"uid":"b1a8273437954620fa374b796ffaacdd","name":"behaviors","children":[{"name":"test_login_success_case001","uid":"60b6e3b6e95b5d0c","parentUid":"b1a8273437954620fa374b796ffaacdd","status":"broken","time":{"start":1708599917546,"stop":1708599929897,"duration":12351},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":["run(order=1)"]},{"name":"test_login_invalid_username","uid":"7e8d34515a9dd56c","parentUid":"b1a8273437954620fa374b796ffaacdd","status":"broken","time":{"start":1708599929987,"stop":1708599929987,"duration":0},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":[]},{"name":"test_login_invalid_password","uid":"8f4c29984e1d0a6c","parentUid":"b1a8273437954620fa374b796ffaacdd","status":"broken","time":{"start":1708599930011,"stop":1708599930011,"duration":0},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":[]}]}
\ No newline at end of file \ No newline at end of file
"Category","FAILED","BROKEN","PASSED","SKIPPED","UNKNOWN"
"Test defects","0","3","0","0","0"
{"uid":"4b4757e66a1912dae1a509f688f20b0f","children":[],"name":"categories"} {"uid":"4b4757e66a1912dae1a509f688f20b0f","name":"categories","children":[{"name":"Test defects","children":[{"name":"selenium.common.exceptions.NoSuchWindowException: Message: no such window: target window already closed\nfrom unknown error: web view not found\n (Session info: chrome=121.0.6167.185)\nStacktrace:\n\tGetHandleVerifier [0x00007FF7963F5E42+3538674]\n\t(No symbol) [0x00007FF796014C02]\n\t(No symbol) [0x00007FF795EC5AEB]\n\t(No symbol) [0x00007FF795EA288C]\n\t(No symbol) [0x00007FF795F35DD7]\n\t(No symbol) [0x00007FF795F4B40F]\n\t(No symbol) [0x00007FF795F2EE53]\n\t(No symbol) [0x00007FF795EFF514]\n\t(No symbol) [0x00007FF795F00631]\n\tGetHandleVerifier [0x00007FF796426CAD+3738973]\n\tGetHandleVerifier [0x00007FF79647C506+4089270]\n\tGetHandleVerifier [0x00007FF796474823+4057299]\n\tGetHandleVerifier [0x00007FF796145C49+720121]\n\t(No symbol) [0x00007FF79602126F]\n\t(No symbol) [0x00007FF79601C304]\n\t(No symbol) [0x00007FF79601C432]\n\t(No symbol) [0x00007FF79600BD04]\n\tBaseThreadInitThunk [0x00007FFF3E08257D+29]\n\tRtlUserThreadStart [0x00007FFF3F9CAA58+40]","children":[{"name":"test_login_success_case001","uid":"60b6e3b6e95b5d0c","parentUid":"6685a8f71218727c245ec9a26c097f46","status":"broken","time":{"start":1708599917546,"stop":1708599929897,"duration":12351},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":["run(order=1)"]},{"name":"test_login_invalid_username","uid":"7e8d34515a9dd56c","parentUid":"6685a8f71218727c245ec9a26c097f46","status":"broken","time":{"start":1708599929987,"stop":1708599929987,"duration":0},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":[]},{"name":"test_login_invalid_password","uid":"8f4c29984e1d0a6c","parentUid":"6685a8f71218727c245ec9a26c097f46","status":"broken","time":{"start":1708599930011,"stop":1708599930011,"duration":0},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":[]}],"uid":"6685a8f71218727c245ec9a26c097f46"}],"uid":"bdbf199525818fae7a8651db9eafe741"}]}
\ No newline at end of file \ No newline at end of file
{"uid":"83edc06c07f9ae9e47eb6dd1b683e4e2","children":[{"name":"TestCases.test_login","children":[{"name":"test_login_success_case001","uid":"ef580f8a535da18e","parentUid":"5b9bff3cc878bfbc7326d20d4563c3d2","status":"passed","time":{"start":1708290034849,"stop":1708290045141,"duration":10292},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":["run(order=1)"]},{"name":"test_login_invalid_username","uid":"5f69d1be31b5ea2d","parentUid":"5b9bff3cc878bfbc7326d20d4563c3d2","status":"passed","time":{"start":1708290053182,"stop":1708290063469,"duration":10287},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":[]},{"name":"test_login_invalid_password","uid":"c0c32a357b6b4017","parentUid":"5b9bff3cc878bfbc7326d20d4563c3d2","status":"passed","time":{"start":1708290073140,"stop":1708290083429,"duration":10289},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":[]}],"uid":"TestCases.test_login"}],"name":"packages"} {"uid":"83edc06c07f9ae9e47eb6dd1b683e4e2","name":"packages","children":[{"name":"TestCases.test_login","children":[{"name":"test_login_success_case001","uid":"60b6e3b6e95b5d0c","parentUid":"5b9bff3cc878bfbc7326d20d4563c3d2","status":"broken","time":{"start":1708599917546,"stop":1708599929897,"duration":12351},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":["run(order=1)"]},{"name":"test_login_invalid_username","uid":"7e8d34515a9dd56c","parentUid":"5b9bff3cc878bfbc7326d20d4563c3d2","status":"broken","time":{"start":1708599929987,"stop":1708599929987,"duration":0},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":[]},{"name":"test_login_invalid_password","uid":"8f4c29984e1d0a6c","parentUid":"5b9bff3cc878bfbc7326d20d4563c3d2","status":"broken","time":{"start":1708599930011,"stop":1708599930011,"duration":0},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":[]}],"uid":"TestCases.test_login"}]}
\ No newline at end of file \ No newline at end of file
"Status","Start Time","Stop Time","Duration in ms","Parent Suite","Suite","Sub Suite","Test Class","Test Method","Name","Description" "Status","Start Time","Stop Time","Duration in ms","Parent Suite","Suite","Sub Suite","Test Class","Test Method","Name","Description"
"passed","Mon Feb 19 05:00:34 CST 2024","Mon Feb 19 05:00:45 CST 2024","10292","TestCases","test_login","TestLogin","","","test_login_success_case001","" "broken","Thu Feb 22 19:05:29 CST 2024","Thu Feb 22 19:05:29 CST 2024","0","TestCases","test_login","TestLogin","","","test_login_invalid_username",""
"passed","Mon Feb 19 05:01:13 CST 2024","Mon Feb 19 05:01:23 CST 2024","10289","TestCases","test_login","TestLogin","","","test_login_invalid_password","" "broken","Thu Feb 22 19:05:30 CST 2024","Thu Feb 22 19:05:30 CST 2024","0","TestCases","test_login","TestLogin","","","test_login_invalid_password",""
"passed","Mon Feb 19 05:00:53 CST 2024","Mon Feb 19 05:01:03 CST 2024","10287","TestCases","test_login","TestLogin","","","test_login_invalid_username","" "broken","Thu Feb 22 19:05:17 CST 2024","Thu Feb 22 19:05:29 CST 2024","12351","TestCases","test_login","TestLogin","","","test_login_success_case001",""
{"uid":"98d3104e051c652961429bf95fa0b5d6","children":[{"name":"TestCases","children":[{"name":"test_login","children":[{"name":"TestLogin","children":[{"name":"test_login_success_case001","uid":"ef580f8a535da18e","parentUid":"156334d8d56ad3e60f17bab8a0cb7a59","status":"passed","time":{"start":1708290034849,"stop":1708290045141,"duration":10292},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":["run(order=1)"]},{"name":"test_login_invalid_username","uid":"5f69d1be31b5ea2d","parentUid":"156334d8d56ad3e60f17bab8a0cb7a59","status":"passed","time":{"start":1708290053182,"stop":1708290063469,"duration":10287},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":[]},{"name":"test_login_invalid_password","uid":"c0c32a357b6b4017","parentUid":"156334d8d56ad3e60f17bab8a0cb7a59","status":"passed","time":{"start":1708290073140,"stop":1708290083429,"duration":10289},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":[]}],"uid":"156334d8d56ad3e60f17bab8a0cb7a59"}],"uid":"ee33cb4c057a9d7ca1eec0eaa23a4bee"}],"uid":"0408d924bc3d43de55080f45620fd22e"}],"name":"suites"} {"uid":"98d3104e051c652961429bf95fa0b5d6","name":"suites","children":[{"name":"TestCases","children":[{"name":"test_login","children":[{"name":"TestLogin","children":[{"name":"test_login_success_case001","uid":"60b6e3b6e95b5d0c","parentUid":"156334d8d56ad3e60f17bab8a0cb7a59","status":"broken","time":{"start":1708599917546,"stop":1708599929897,"duration":12351},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":["run(order=1)"]},{"name":"test_login_invalid_username","uid":"7e8d34515a9dd56c","parentUid":"156334d8d56ad3e60f17bab8a0cb7a59","status":"broken","time":{"start":1708599929987,"stop":1708599929987,"duration":0},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":[]},{"name":"test_login_invalid_password","uid":"8f4c29984e1d0a6c","parentUid":"156334d8d56ad3e60f17bab8a0cb7a59","status":"broken","time":{"start":1708599930011,"stop":1708599930011,"duration":0},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":[]}],"uid":"156334d8d56ad3e60f17bab8a0cb7a59"}],"uid":"ee33cb4c057a9d7ca1eec0eaa23a4bee"}],"uid":"0408d924bc3d43de55080f45620fd22e"}]}
\ No newline at end of file \ No newline at end of file
{"uid":"5f69d1be31b5ea2d","name":"test_login_invalid_username","fullName":"TestCases.test_login.TestLogin#test_login_invalid_username","historyId":"26544122cf70e22e96bace727415c5ce","time":{"start":1708290053182,"stop":1708290063469,"duration":10287},"status":"passed","flaky":false,"newFailed":false,"newBroken":false,"newPassed":false,"retriesCount":0,"retriesStatusChange":false,"beforeStages":[{"name":"_xunit_setup_class_fixture_TestLogin","time":{"start":1708290024155,"stop":1708290025706,"duration":1551},"status":"passed","steps":[],"attachments":[],"parameters":[],"stepsCount":0,"attachmentStep":false,"hasContent":false,"shouldDisplayMessage":false,"attachmentsCount":0},{"name":"_xunit_setup_method_fixture_TestLogin","time":{"start":1708290045147,"stop":1708290053182,"duration":8035},"status":"passed","steps":[],"attachments":[],"parameters":[],"stepsCount":0,"attachmentStep":false,"hasContent":false,"shouldDisplayMessage":false,"attachmentsCount":0}],"afterStages":[{"name":"_xunit_setup_method_fixture_TestLogin::0","time":{"start":1708290063469,"stop":1708290063469,"duration":0},"status":"passed","steps":[],"attachments":[],"parameters":[],"stepsCount":0,"attachmentStep":false,"hasContent":false,"shouldDisplayMessage":false,"attachmentsCount":0},{"name":"_xunit_setup_class_fixture_TestLogin::0","time":{"start":1708290083429,"stop":1708290085603,"duration":2174},"status":"passed","steps":[],"attachments":[],"parameters":[],"stepsCount":0,"attachmentStep":false,"hasContent":false,"shouldDisplayMessage":false,"attachmentsCount":0}],"labels":[{"name":"parentSuite","value":"TestCases"},{"name":"suite","value":"test_login"},{"name":"subSuite","value":"TestLogin"},{"name":"host","value":"DCG027335"},{"name":"thread","value":"3052-MainThread"},{"name":"framework","value":"pytest"},{"name":"language","value":"cpython3"},{"name":"package","value":"TestCases.test_login"},{"name":"resultFormat","value":"allure2"}],"parameters":[],"links":[],"hidden":false,"retry":false,"extra":{"severity":"normal","retries":[],"categories":[],"tags":[]},"source":"5f69d1be31b5ea2d.json","parameterValues":[]}
\ No newline at end of file
{"uid":"c0c32a357b6b4017","name":"test_login_invalid_password","fullName":"TestCases.test_login.TestLogin#test_login_invalid_password","historyId":"bf01a7f441fea677280889d0ba346cc6","time":{"start":1708290073140,"stop":1708290083429,"duration":10289},"status":"passed","flaky":false,"newFailed":false,"newBroken":false,"newPassed":false,"retriesCount":0,"retriesStatusChange":false,"beforeStages":[{"name":"_xunit_setup_class_fixture_TestLogin","time":{"start":1708290024155,"stop":1708290025706,"duration":1551},"status":"passed","steps":[],"attachments":[],"parameters":[],"stepsCount":0,"attachmentStep":false,"hasContent":false,"shouldDisplayMessage":false,"attachmentsCount":0},{"name":"_xunit_setup_method_fixture_TestLogin","time":{"start":1708290063469,"stop":1708290073140,"duration":9671},"status":"passed","steps":[],"attachments":[],"parameters":[],"stepsCount":0,"attachmentStep":false,"hasContent":false,"shouldDisplayMessage":false,"attachmentsCount":0}],"afterStages":[{"name":"_xunit_setup_method_fixture_TestLogin::0","time":{"start":1708290083429,"stop":1708290083429,"duration":0},"status":"passed","steps":[],"attachments":[],"parameters":[],"stepsCount":0,"attachmentStep":false,"hasContent":false,"shouldDisplayMessage":false,"attachmentsCount":0},{"name":"_xunit_setup_class_fixture_TestLogin::0","time":{"start":1708290083429,"stop":1708290085603,"duration":2174},"status":"passed","steps":[],"attachments":[],"parameters":[],"stepsCount":0,"attachmentStep":false,"hasContent":false,"shouldDisplayMessage":false,"attachmentsCount":0}],"labels":[{"name":"parentSuite","value":"TestCases"},{"name":"suite","value":"test_login"},{"name":"subSuite","value":"TestLogin"},{"name":"host","value":"DCG027335"},{"name":"thread","value":"3052-MainThread"},{"name":"framework","value":"pytest"},{"name":"language","value":"cpython3"},{"name":"package","value":"TestCases.test_login"},{"name":"resultFormat","value":"allure2"}],"parameters":[],"links":[],"hidden":false,"retry":false,"extra":{"severity":"normal","retries":[],"categories":[],"tags":[]},"source":"c0c32a357b6b4017.json","parameterValues":[]}
\ No newline at end of file
{"uid":"ef580f8a535da18e","name":"test_login_success_case001","fullName":"TestCases.test_login.TestLogin#test_login_success_case001","historyId":"5452e80e131503044fb24882c5820a04","time":{"start":1708290034849,"stop":1708290045141,"duration":10292},"status":"passed","flaky":false,"newFailed":false,"newBroken":false,"newPassed":false,"retriesCount":0,"retriesStatusChange":false,"beforeStages":[{"name":"_xunit_setup_class_fixture_TestLogin","time":{"start":1708290024155,"stop":1708290025706,"duration":1551},"status":"passed","steps":[],"attachments":[],"parameters":[],"stepsCount":0,"attachmentStep":false,"hasContent":false,"shouldDisplayMessage":false,"attachmentsCount":0},{"name":"_xunit_setup_method_fixture_TestLogin","time":{"start":1708290025706,"stop":1708290034849,"duration":9143},"status":"passed","steps":[],"attachments":[],"parameters":[],"stepsCount":0,"attachmentStep":false,"hasContent":false,"shouldDisplayMessage":false,"attachmentsCount":0}],"testStage":{"status":"passed","steps":[],"attachments":[{"uid":"d0eba53c6f8e8917","name":"stdout","source":"d0eba53c6f8e8917.txt","type":"text/plain","size":2},{"uid":"b5413ff7ef187aa3","name":"stderr","source":"b5413ff7ef187aa3.txt","type":"text/plain","size":146}],"parameters":[],"stepsCount":0,"attachmentStep":false,"hasContent":true,"shouldDisplayMessage":false,"attachmentsCount":2},"afterStages":[{"name":"_xunit_setup_method_fixture_TestLogin::0","time":{"start":1708290045142,"stop":1708290045142,"duration":0},"status":"passed","steps":[],"attachments":[],"parameters":[],"stepsCount":0,"attachmentStep":false,"hasContent":false,"shouldDisplayMessage":false,"attachmentsCount":0},{"name":"_xunit_setup_class_fixture_TestLogin::0","time":{"start":1708290083429,"stop":1708290085603,"duration":2174},"status":"passed","steps":[],"attachments":[],"parameters":[],"stepsCount":0,"attachmentStep":false,"hasContent":false,"shouldDisplayMessage":false,"attachmentsCount":0}],"labels":[{"name":"tag","value":"run(order=1)"},{"name":"parentSuite","value":"TestCases"},{"name":"suite","value":"test_login"},{"name":"subSuite","value":"TestLogin"},{"name":"host","value":"DCG027335"},{"name":"thread","value":"3052-MainThread"},{"name":"framework","value":"pytest"},{"name":"language","value":"cpython3"},{"name":"package","value":"TestCases.test_login"},{"name":"resultFormat","value":"allure2"}],"parameters":[],"links":[],"hidden":false,"retry":false,"extra":{"severity":"normal","retries":[],"categories":[],"tags":["run(order=1)"]},"source":"ef580f8a535da18e.json","parameterValues":[]}
\ No newline at end of file
{"uid":"ab17fc5a4eb3bca4b216b548c7f9fcbc","children":[{"name":"DCG027335","children":[{"name":"3052-MainThread","children":[{"name":"test_login_invalid_password","uid":"c0c32a357b6b4017","parentUid":"ec32863d7e138ca66b7ede8dc3241556","status":"passed","time":{"start":1708290073140,"stop":1708290083429,"duration":10289},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":[]},{"name":"test_login_invalid_username","uid":"5f69d1be31b5ea2d","parentUid":"ec32863d7e138ca66b7ede8dc3241556","status":"passed","time":{"start":1708290053182,"stop":1708290063469,"duration":10287},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":[]},{"name":"test_login_success_case001","uid":"ef580f8a535da18e","parentUid":"ec32863d7e138ca66b7ede8dc3241556","status":"passed","time":{"start":1708290034849,"stop":1708290045141,"duration":10292},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":["run(order=1)"]}],"uid":"ec32863d7e138ca66b7ede8dc3241556"}],"uid":"af897ab2d016d3a8f594a655b977be16"}],"name":"timeline"} {"uid":"ab17fc5a4eb3bca4b216b548c7f9fcbc","name":"timeline","children":[{"name":"DCG027335","children":[{"name":"25188-MainThread","children":[{"name":"test_login_invalid_password","uid":"8f4c29984e1d0a6c","parentUid":"f1c100c9fa3147826fab53c7209cf3af","status":"broken","time":{"start":1708599930011,"stop":1708599930011,"duration":0},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":[]},{"name":"test_login_success_case001","uid":"60b6e3b6e95b5d0c","parentUid":"f1c100c9fa3147826fab53c7209cf3af","status":"broken","time":{"start":1708599917546,"stop":1708599929897,"duration":12351},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":["run(order=1)"]},{"name":"test_login_invalid_username","uid":"7e8d34515a9dd56c","parentUid":"f1c100c9fa3147826fab53c7209cf3af","status":"broken","time":{"start":1708599929987,"stop":1708599929987,"duration":0},"flaky":false,"newFailed":false,"newPassed":false,"newBroken":false,"retriesCount":0,"retriesStatusChange":false,"parameters":[],"tags":[]}],"uid":"f1c100c9fa3147826fab53c7209cf3af"}],"uid":"af897ab2d016d3a8f594a655b977be16"}]}
\ No newline at end of file \ No newline at end of file
launch_status failed=0 1708290086000000000 launch_status failed=0 1708599933000000000
launch_status broken=0 1708290086000000000 launch_status broken=3 1708599933000000000
launch_status passed=3 1708290086000000000 launch_status passed=0 1708599933000000000
launch_status skipped=0 1708290086000000000 launch_status skipped=0 1708599933000000000
launch_status unknown=0 1708290086000000000 launch_status unknown=0 1708599933000000000
launch_time duration=48580 1708290086000000000 launch_time duration=12465 1708599933000000000
launch_time min_duration=10287 1708290086000000000 launch_time min_duration=0 1708599933000000000
launch_time max_duration=10292 1708290086000000000 launch_time max_duration=12351 1708599933000000000
launch_time sum_duration=30868 1708290086000000000 launch_time sum_duration=12351 1708599933000000000
launch_retries retries=0 1708290086000000000 launch_problems test_defects=3 1708599933000000000
launch_retries run=3 1708290086000000000 launch_retries retries=0 1708599933000000000
launch_retries run=3 1708599933000000000
launch_status_failed 0 launch_status_failed 0
launch_status_broken 0 launch_status_broken 3
launch_status_passed 3 launch_status_passed 0
launch_status_skipped 0 launch_status_skipped 0
launch_status_unknown 0 launch_status_unknown 0
launch_time_duration 48580 launch_time_duration 12465
launch_time_min_duration 10287 launch_time_min_duration 0
launch_time_max_duration 10292 launch_time_max_duration 12351
launch_time_sum_duration 30868 launch_time_sum_duration 12351
launch_problems_test_defects 3
launch_retries_retries 0 launch_retries_retries 0
launch_retries_run 3 launch_retries_run 3
[{"data":{}}] [{"data":{"Test defects":3}}]
\ No newline at end of file \ No newline at end of file
[{"data":{"duration":48580}}] [{"data":{"duration":12465}}]
\ No newline at end of file \ No newline at end of file
[{"data":{"failed":0,"broken":0,"skipped":0,"passed":3,"unknown":0,"total":3}}] [{"data":{"failed":0,"broken":3,"skipped":0,"passed":0,"unknown":0,"total":3}}]
\ No newline at end of file \ No newline at end of file
{"5452e80e131503044fb24882c5820a04":{"statistic":{"failed":0,"broken":0,"skipped":0,"passed":1,"unknown":0,"total":1},"items":[{"uid":"ef580f8a535da18e","status":"passed","time":{"start":1708290034849,"stop":1708290045141,"duration":10292}}]},"26544122cf70e22e96bace727415c5ce":{"statistic":{"failed":0,"broken":0,"skipped":0,"passed":1,"unknown":0,"total":1},"items":[{"uid":"5f69d1be31b5ea2d","status":"passed","time":{"start":1708290053182,"stop":1708290063469,"duration":10287}}]},"bf01a7f441fea677280889d0ba346cc6":{"statistic":{"failed":0,"broken":0,"skipped":0,"passed":1,"unknown":0,"total":1},"items":[{"uid":"c0c32a357b6b4017","status":"passed","time":{"start":1708290073140,"stop":1708290083429,"duration":10289}}]}} {"5452e80e131503044fb24882c5820a04":{"statistic":{"failed":0,"broken":1,"skipped":0,"passed":0,"unknown":0,"total":1},"items":[{"uid":"60b6e3b6e95b5d0c","status":"broken","statusDetails":"selenium.common.exceptions.NoSuchWindowException: Message: no such window: target window already closed\nfrom unknown error: web view not found\n (Session info: chrome=121.0.6167.185)\nStacktrace:\n\tGetHandleVerifier [0x00007FF7963F5E42+3538674]\n\t(No symbol) [0x00007FF796014C02]\n\t(No symbol) [0x00007FF795EC5AEB]\n\t(No symbol) [0x00007FF795EA288C]\n\t(No symbol) [0x00007FF795F35DD7]\n\t(No symbol) [0x00007FF795F4B40F]\n\t(No symbol) [0x00007FF795F2EE53]\n\t(No symbol) [0x00007FF795EFF514]\n\t(No symbol) [0x00007FF795F00631]\n\tGetHandleVerifier [0x00007FF796426CAD+3738973]\n\tGetHandleVerifier [0x00007FF79647C506+4089270]\n\tGetHandleVerifier [0x00007FF796474823+4057299]\n\tGetHandleVerifier [0x00007FF796145C49+720121]\n\t(No symbol) [0x00007FF79602126F]\n\t(No symbol) [0x00007FF79601C304]\n\t(No symbol) [0x00007FF79601C432]\n\t(No symbol) [0x00007FF79600BD04]\n\tBaseThreadInitThunk [0x00007FFF3E08257D+29]\n\tRtlUserThreadStart [0x00007FFF3F9CAA58+40]","time":{"start":1708599917546,"stop":1708599929897,"duration":12351}}]},"26544122cf70e22e96bace727415c5ce":{"statistic":{"failed":0,"broken":1,"skipped":0,"passed":0,"unknown":0,"total":1},"items":[{"uid":"7e8d34515a9dd56c","status":"broken","statusDetails":"selenium.common.exceptions.NoSuchWindowException: Message: no such window: target window already closed\nfrom unknown error: web view not found\n (Session info: chrome=121.0.6167.185)\nStacktrace:\n\tGetHandleVerifier [0x00007FF7963F5E42+3538674]\n\t(No symbol) [0x00007FF796014C02]\n\t(No symbol) [0x00007FF795EC5AEB]\n\t(No symbol) [0x00007FF795EA288C]\n\t(No symbol) [0x00007FF795F35DD7]\n\t(No symbol) [0x00007FF795F4B40F]\n\t(No symbol) [0x00007FF795F2EE53]\n\t(No symbol) [0x00007FF795EFF514]\n\t(No symbol) [0x00007FF795F00631]\n\tGetHandleVerifier [0x00007FF796426CAD+3738973]\n\tGetHandleVerifier [0x00007FF79647C506+4089270]\n\tGetHandleVerifier [0x00007FF796474823+4057299]\n\tGetHandleVerifier [0x00007FF796145C49+720121]\n\t(No symbol) [0x00007FF79602126F]\n\t(No symbol) [0x00007FF79601C304]\n\t(No symbol) [0x00007FF79601C432]\n\t(No symbol) [0x00007FF79600BD04]\n\tBaseThreadInitThunk [0x00007FFF3E08257D+29]\n\tRtlUserThreadStart [0x00007FFF3F9CAA58+40]","time":{"start":1708599929987,"stop":1708599929987,"duration":0}}]},"bf01a7f441fea677280889d0ba346cc6":{"statistic":{"failed":0,"broken":1,"skipped":0,"passed":0,"unknown":0,"total":1},"items":[{"uid":"8f4c29984e1d0a6c","status":"broken","statusDetails":"selenium.common.exceptions.NoSuchWindowException: Message: no such window: target window already closed\nfrom unknown error: web view not found\n (Session info: chrome=121.0.6167.185)\nStacktrace:\n\tGetHandleVerifier [0x00007FF7963F5E42+3538674]\n\t(No symbol) [0x00007FF796014C02]\n\t(No symbol) [0x00007FF795EC5AEB]\n\t(No symbol) [0x00007FF795EA288C]\n\t(No symbol) [0x00007FF795F35DD7]\n\t(No symbol) [0x00007FF795F4B40F]\n\t(No symbol) [0x00007FF795F2EE53]\n\t(No symbol) [0x00007FF795EFF514]\n\t(No symbol) [0x00007FF795F00631]\n\tGetHandleVerifier [0x00007FF796426CAD+3738973]\n\tGetHandleVerifier [0x00007FF79647C506+4089270]\n\tGetHandleVerifier [0x00007FF796474823+4057299]\n\tGetHandleVerifier [0x00007FF796145C49+720121]\n\t(No symbol) [0x00007FF79602126F]\n\t(No symbol) [0x00007FF79601C304]\n\t(No symbol) [0x00007FF79601C432]\n\t(No symbol) [0x00007FF79600BD04]\n\tBaseThreadInitThunk [0x00007FFF3E08257D+29]\n\tRtlUserThreadStart [0x00007FFF3F9CAA58+40]","time":{"start":1708599930011,"stop":1708599930011,"duration":0}}]}}
\ No newline at end of file \ No newline at end of file
...@@ -26,7 +26,7 @@ ...@@ -26,7 +26,7 @@
gtag('js', new Date()); gtag('js', new Date());
gtag('config', 'G-FVWC4GKEYS', { gtag('config', 'G-FVWC4GKEYS', {
'allureVersion': 'dev', 'allureVersion': 'dev',
'reportUuid': 'f51dee26-670e-4134-a740-6a3970590928', 'reportUuid': '370fcdab-0fdc-4bfc-abee-1133541d814d',
'single_file': false 'single_file': false
}); });
</script> </script>
......
[{"data":{}}] [{"data":{"Test defects":3}}]
\ No newline at end of file \ No newline at end of file
{"total":0,"items":[]} {"total":1,"items":[{"uid":"bdbf199525818fae7a8651db9eafe741","name":"Test defects","statistic":{"failed":0,"broken":3,"skipped":0,"passed":0,"unknown":0,"total":3}}]}
\ No newline at end of file \ No newline at end of file
[{"data":{"duration":48580}}] [{"data":{"duration":12465}}]
\ No newline at end of file \ No newline at end of file
[{"uid":"ef580f8a535da18e","name":"test_login_success_case001","time":{"start":1708290034849,"stop":1708290045141,"duration":10292},"status":"passed","severity":"normal"},{"uid":"c0c32a357b6b4017","name":"test_login_invalid_password","time":{"start":1708290073140,"stop":1708290083429,"duration":10289},"status":"passed","severity":"normal"},{"uid":"5f69d1be31b5ea2d","name":"test_login_invalid_username","time":{"start":1708290053182,"stop":1708290063469,"duration":10287},"status":"passed","severity":"normal"}] [{"uid":"7e8d34515a9dd56c","name":"test_login_invalid_username","time":{"start":1708599929987,"stop":1708599929987,"duration":0},"status":"broken","severity":"normal"},{"uid":"8f4c29984e1d0a6c","name":"test_login_invalid_password","time":{"start":1708599930011,"stop":1708599930011,"duration":0},"status":"broken","severity":"normal"},{"uid":"60b6e3b6e95b5d0c","name":"test_login_success_case001","time":{"start":1708599917546,"stop":1708599929897,"duration":12351},"status":"broken","severity":"normal"}]
\ No newline at end of file \ No newline at end of file
[{"data":{"failed":0,"broken":0,"skipped":0,"passed":3,"unknown":0,"total":3}}] [{"data":{"failed":0,"broken":3,"skipped":0,"passed":0,"unknown":0,"total":3}}]
\ No newline at end of file \ No newline at end of file
[{"uid":"5f69d1be31b5ea2d","name":"test_login_invalid_username","time":{"start":1708290053182,"stop":1708290063469,"duration":10287},"status":"passed","severity":"normal"},{"uid":"c0c32a357b6b4017","name":"test_login_invalid_password","time":{"start":1708290073140,"stop":1708290083429,"duration":10289},"status":"passed","severity":"normal"},{"uid":"ef580f8a535da18e","name":"test_login_success_case001","time":{"start":1708290034849,"stop":1708290045141,"duration":10292},"status":"passed","severity":"normal"}] [{"uid":"8f4c29984e1d0a6c","name":"test_login_invalid_password","time":{"start":1708599930011,"stop":1708599930011,"duration":0},"status":"broken","severity":"normal"},{"uid":"60b6e3b6e95b5d0c","name":"test_login_success_case001","time":{"start":1708599917546,"stop":1708599929897,"duration":12351},"status":"broken","severity":"normal"},{"uid":"7e8d34515a9dd56c","name":"test_login_invalid_username","time":{"start":1708599929987,"stop":1708599929987,"duration":0},"status":"broken","severity":"normal"}]
\ No newline at end of file \ No newline at end of file
[{"uid":"ef580f8a535da18e","name":"test_login_success_case001","time":{"start":1708290034849,"stop":1708290045141,"duration":10292},"status":"passed","severity":"normal"},{"uid":"c0c32a357b6b4017","name":"test_login_invalid_password","time":{"start":1708290073140,"stop":1708290083429,"duration":10289},"status":"passed","severity":"normal"},{"uid":"5f69d1be31b5ea2d","name":"test_login_invalid_username","time":{"start":1708290053182,"stop":1708290063469,"duration":10287},"status":"passed","severity":"normal"}] [{"uid":"7e8d34515a9dd56c","name":"test_login_invalid_username","time":{"start":1708599929987,"stop":1708599929987,"duration":0},"status":"broken","severity":"normal"},{"uid":"8f4c29984e1d0a6c","name":"test_login_invalid_password","time":{"start":1708599930011,"stop":1708599930011,"duration":0},"status":"broken","severity":"normal"},{"uid":"60b6e3b6e95b5d0c","name":"test_login_success_case001","time":{"start":1708599917546,"stop":1708599929897,"duration":12351},"status":"broken","severity":"normal"}]
\ No newline at end of file \ No newline at end of file
{"total":1,"items":[{"uid":"0408d924bc3d43de55080f45620fd22e","name":"TestCases","statistic":{"failed":0,"broken":0,"skipped":0,"passed":3,"unknown":0,"total":3}}]} {"total":1,"items":[{"uid":"0408d924bc3d43de55080f45620fd22e","name":"TestCases","statistic":{"failed":0,"broken":3,"skipped":0,"passed":0,"unknown":0,"total":3}}]}
\ No newline at end of file \ No newline at end of file
{"reportName":"Allure Report","testRuns":[],"statistic":{"failed":0,"broken":0,"skipped":0,"passed":3,"unknown":0,"total":3},"time":{"start":1708290034849,"stop":1708290083429,"duration":48580,"minDuration":10287,"maxDuration":10292,"sumDuration":30868}} {"reportName":"Allure Report","testRuns":[],"statistic":{"failed":0,"broken":3,"skipped":0,"passed":0,"unknown":0,"total":3},"time":{"start":1708599917546,"stop":1708599930011,"duration":12465,"minDuration":0,"maxDuration":12351,"sumDuration":12351}}
\ No newline at end of file \ No newline at end of file
...@@ -9,3 +9,7 @@ ...@@ -9,3 +9,7 @@
2024-02-19T18:10:18.397061+0800 - INFO - 发生报错:报错信息为'WebElement' object has no attribute 'get_element' 2024-02-19T18:10:18.397061+0800 - INFO - 发生报错:报错信息为'WebElement' object has no attribute 'get_element'
2024-02-19T18:15:01.900058+0800 - INFO - 发生报错:报错信息为'WebElement' object has no attribute 'getAttribute' 2024-02-19T18:15:01.900058+0800 - INFO - 发生报错:报错信息为'WebElement' object has no attribute 'getAttribute'
2024-02-19T18:24:37.819043+0800 - INFO - 发生报错:报错信息为assert None == True 2024-02-19T18:24:37.819043+0800 - INFO - 发生报错:报错信息为assert None == True
2024-02-22T18:59:49.016353+0800 - ERROR - 发生报错:报错信息为'TestBusinessKnowledge' object has no attribute 'business_page'
2024-02-22T19:00:22.853903+0800 - ERROR - 发生报错:报错信息为'TestBusinessKnowledge' object has no attribute 'business_page'
2024-02-22T19:05:29.894840+0800 - INFO - 登陆成功
2024-02-22T19:05:29.894840+0800 - INFO - 登陆成功
[pytest]
testpaths = .\TestCases\TestBusiness
python_files = test*.py
python_classes = Test*
python_functions = test*
\ No newline at end of file
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment