使用 Selenium Python 在参数级别测试结果状态
Test Result Status at Parameter level with Selenium Python
所以我有一个 selenium/Python 脚本,它读取 JSON 文件以获得 URL 的列表,然后一个一个地浏览它们;并截图。
我想在测试结束时生成结果报告 (HTML),但要遵循以下内容;
报告不应该只说脚本 passed/failed,还应该分享每个参数的结果 URL。例如,如果 5 个网站中有 2 个在测试时出现故障,那么它会反映在 HTML 结果中。
喜欢 facebook.com - 好而 www.sdadas.com - 失败
这是我的代码:
with open('Path to JSON file', encoding='utf-8') as s:
data = json.loads(s.read())
driver = Edge()
driver.set_page_load_timeout(10)
driver.implicitly_wait(5)
for site in data['sites']:
driver.get(data['sites'][site])
driver.get_screenshot_as_file("Screenshot path\Image" + site + '.png')
driver.close()
我的JSON文件
{
"sites": {
"facebook": "http://www.facebook.com",
"Wrong": "http://www.gonssgle.com"
}
}
有几种方法可以检查网站是否 down/unavailable。您可以使用 selenium 检查是否存在显示站点关闭的错误消息(这可能会有所不同,具体取决于您使用的浏览器),但我不建议您这样做。
我只是简单地使用 python requests
库 (python3) 或任何类似的库,去每个站点并检查其响应代码,例如:
response = requests.get(data)
assert response.status_code == requests.codes.ok
然后继续获取截图代码
此外,要生成 HTML 报告,我建议您 运行 您的代码带有 python 单元测试框架,如 unittest、pytest 等。每个都应该有html 报表插件,如有需要可以自定义。它将根据您的测试结果生成测试报告。
所以我有一个 selenium/Python 脚本,它读取 JSON 文件以获得 URL 的列表,然后一个一个地浏览它们;并截图。
我想在测试结束时生成结果报告 (HTML),但要遵循以下内容;
报告不应该只说脚本 passed/failed,还应该分享每个参数的结果 URL。例如,如果 5 个网站中有 2 个在测试时出现故障,那么它会反映在 HTML 结果中。 喜欢 facebook.com - 好而 www.sdadas.com - 失败
这是我的代码:
with open('Path to JSON file', encoding='utf-8') as s:
data = json.loads(s.read())
driver = Edge()
driver.set_page_load_timeout(10)
driver.implicitly_wait(5)
for site in data['sites']:
driver.get(data['sites'][site])
driver.get_screenshot_as_file("Screenshot path\Image" + site + '.png')
driver.close()
我的JSON文件
{
"sites": {
"facebook": "http://www.facebook.com",
"Wrong": "http://www.gonssgle.com"
}
}
有几种方法可以检查网站是否 down/unavailable。您可以使用 selenium 检查是否存在显示站点关闭的错误消息(这可能会有所不同,具体取决于您使用的浏览器),但我不建议您这样做。
我只是简单地使用 python requests
库 (python3) 或任何类似的库,去每个站点并检查其响应代码,例如:
response = requests.get(data)
assert response.status_code == requests.codes.ok
然后继续获取截图代码
此外,要生成 HTML 报告,我建议您 运行 您的代码带有 python 单元测试框架,如 unittest、pytest 等。每个都应该有html 报表插件,如有需要可以自定义。它将根据您的测试结果生成测试报告。