当前位置: 首页 > news >正文

2018做网站 工具盘石做的网站

2018做网站 工具,盘石做的网站,wordpress 注释问题,没广告的视频播放器app亲爱的小伙伴们#xff0c;由于微信公众号改版#xff0c;打乱了发布时间#xff0c;为了保证大家可以及时收到文章的推送#xff0c;可以点击上方蓝字关注测试工程师成长之路#xff0c;并设为星标就可以第一时间收到推送哦#xff01; 一.使用 Allure2 运行方式-Python… 亲爱的小伙伴们由于微信公众号改版打乱了发布时间为了保证大家可以及时收到文章的推送可以点击上方蓝字关注测试工程师成长之路并设为星标就可以第一时间收到推送哦 一.使用 Allure2 运行方式-Python # --alluredir 参数生成测试报告。 # 在测试执行期间收集结果 pytest [测试用例/模块/包] --alluredir./result/  (—alluredir这个选项 用于指定存储测试结果的路径)# 生成在线的测试报告 allure serve ./result二.使用 Allure2 运行方式-Java 1.使用 allure:report 参数生成测试报告 # 在测试执行期间收集结果 # mvn命令行使用 maven插件安装 mvn clean test allure:report# 生成在线的测试报告 # mvn 直接找target/allure-results目录 mvn allure:serve 2.运行mvn命令对应没有在target下面生成allure-results目录。在src/test/resources路径下配置allure配置文件allure.properties指名allure报告生成路径。 allure.results.directorytarget/allure-resultsa3.运行mvn命令一直卡在下载中解决方法 ①在项目下创建.allure文件夹。 ②下载allure解压到.allure文件夹下。 三.生成测试报告 1.生成测试报告需要使用命令行工具allure 2.命令格式allure [option] [command] [command options] # 步骤一在测试执行期间收集结果 # —alluredir这个选项 用于指定存储测试结果的路径 pytest  [测试文件] -s –q --alluredir./result/ # 如果要清除已经生成的报告的历史记录可以添加参数--clean-alluredir pytest  [测试文件] -s –q --alluredir./result/ --clean-alluredir # 步骤二查看测试报告注意这里的serve书写 allure serve ./result/3.Allure报告生成的两种方式 方式一在线报告会直接打开默认浏览器展示当前报告。 # 方式一测试完成后查看实际报告在线查看报告会直接打开默认浏览器展示当前报告。 allure serve ./result/方式二静态资源文件报告(带 index.html、css、js等文件)需要将报告布署到 web服务器上。 a.应用场景如果希望随时打开报告可以生成一个静态资源文件报告将这个报告布署到 web 服务器上启动 web 服务即可随时随地打开报告。 b.解决方案使用allure generate 生成带有 index.html 的结果报告。这种方式需要两个步骤第一步生成报告。第二步打开报告。# 生成报告 allure generate ./result # 打开报告 allure open ./report/4.常用参数 ①allure generate 可以指定输出路径也可以清理上次的报告记录。 ②-o / –output 输出报告的路径。 ③-c / –clean 如果报告路径重复。 ④allure open 打开报告。 ⑤-h / –host 主机 IP 地址此主机将用于启动报表的 web 服务器。 ⑥-p / –port 主机端口此端口将用于启动报表的 web 服务器默认值0。# 生成报告指定输出路径清理报告。 allure generate ./result -o ./report --clean# 打开报告指定IP地址和端口。 allure open -h 127.0.0.1 -p 8883 ./report/四.Allure2 报告中添加用例标题 通过使用装饰器allure.title可以为测试用例自定义一个可阅读性的标题。allure.title的三种使用方式如下 方式一直接使用装饰器allure.title 为测试用例自定义标题。 import allure import pytestallure.title(自定义测试用例标题) def test_with_title():assert True方式二allure.title支持通过占位符的方式传递参数可以实现测试用例标题参数化动态生成测试用例标题。 import allure import pytestallure.title(参数化用例标题参数一{param1} 参数二 {param2}) pytest.mark.parametrize(param1, param2, expected, [(1, 1, 2),(0.1, 0.3, 0.4) ]) def test_with_parametrize_title(param1, param2, expected):assert param1  param2  expected方式三allure.dynamic.title 动态更新测试用例标题。 allure.title(原始标题) def test_with_dynamic_title():assert Trueallure.dynamic.title(更改后的新标题)五.Allure2报告中添加用例步骤 方法一使用装饰器定义一个测试步骤在测试用例中使用。 # 方法一使用装饰器定义一个测试步骤在测试用例中使用 import allure import pytest# 定义测试步骤simple_step1 allure.step def simple_step1(step_param1, step_param2  None):定义一个测试步骤print(f步骤1打开页面参数1: {step_param1}, 参数2{step_param2})# 定义测试步骤simple_step2 allure.step def simple_step2(step_param):定义一个测试步骤print(f步骤2完成搜索 {step_param} 功能)pytest.mark.parametrize(param1, [pytest, allure], ids[search pytest, search allure]) def test_parameterize_with_id(param1):simple_step2(param1)         # 调用步骤二pytest.mark.parametrize(param1, [True, False]) pytest.mark.parametrize(param2, [value 1, value 2]) def test_parametrize_with_two_parameters(param1, param2):simple_step1(param1, param2)   # 调用步骤一pytest.mark.parametrize(param2, [pytest, unittest]) pytest.mark.parametrize(param1,param3, [[1,2]]) def test_parameterize_with_uneven_value_sets(param1, param2, param3):simple_step1(param1, param3)    # 调用步骤一simple_step2(param2)      # 调用步骤二方法二使用 with allure.step() 添加测试步骤。 # 方法二使用 with allure.step() 添加测试步骤 allure.title(搜索用例) def test_step_in_method():with allure.step(测试步骤一打开页面):print(操作 a)print(操作 b)with allure.step(测试步骤二搜索):print(搜索操作 )with allure.step(测试步骤三断言):assert True六.Allure2报告中添加用例链接 应用场景将报告与bug管理系统或测试用例管理系统集成可以添加链接装饰器allure.link、allure.issue和allure.testcase。 1.allure.link(url, name) 添加一个普通的 link 链接。 2.allure.testcase(url, name) 添加一个用例管理系统链接。 3.allure.issue(url, name)添加 bug 管理系统# 格式1添加一个普通的link 链接 allure.link(https://ceshiren.com/t/topic/15860) def test_with_link():pass# 格式1添加一个普通的link 链接添加链接名称 allure.link(https://ceshiren.com/t/topic/15860, name这是用例链接地址) def test_with_named_link():pass# 格式2添加用例管理系统链接 TEST_CASE_LINK  https://github.com/qameta/allure-integrations/issues/8#issuecomment-268313637allure.testcase(TEST_CASE_LINK, 用例管理系统) def test_with_testcase_link():pass# 格式3添加bug管理系统链接 # 这个装饰器在展示的时候会带 bug 图标的链接。可以在运行时通过参数 --allure-link-pattern 指定一个模板链接以便将其与提供的问题链接类型链接模板一起使用。执行命令需要指定模板链接 --allure-link-patternissue:https://abc.com/t/topic/{} allure.issue(15860, bug管理系统) def test_with_issue():pass七.Allure2报告中添加用例分类 1.Allure分类 (1)应用场景可以为项目以及项目下的不同模块对用例进行分类管理。也可以运行某个类别下的用例。 (2)报告展示类别会展示在测试报告的Behaviors栏目下。 (3)Allure提供了三个装饰器 allure.epic敏捷里面的概念定义史诗往下是 feature。 allure.feature功能点的描述理解成模块往下是 story。 allure.story故事 story 是 feature 的子集。 2.Allure分类 - epic 场景希望在测试报告中看到用例所在的项目需要用到 epic相当于定义一个项目的需求由于粒度比较大在epic下面还要定义略小粒度的用户故事。 装饰器allure.epic import allureallure.epic(需求1) class TestEpic:def test_case1(self):print(用例1)def test_case2(self):print(用例2)def test_case3(self):print(用例3)3.Allure分类 - feature/story 场景: 希望在报告中看到测试功能子功能或场景。 装饰器: allure.Feature、allure.story import allureallure.epic(需求1) allure.feature(功能模块1) class TestEpic:allure.story(子功能1)allure.title(用例1)def test_case1(self):print(用例1)allure.story(子功能2)allure.title(用例2)def test_case2(self):print(用例2)allure.story(子功能2)allure.title(用例3)def test_case3(self):print(用例3)allure.story(子功能1)allure.title(用例4)def test_case4(self):print(用例4)4.Allure运行feature/story # allure相关的命令查看 pytest --help|grep allure#通过指定命令行参数运行 epic/feature/story 相关的用例 pytest 文件名 --allure-epicsEPICS_SET --allure-featuresFEATURES_SET --allure-storiesSTORIES_SET# 只运行 epic 名为 需求1 的测试用例 pytest --alluredir ./results --clean-alluredir --allure-epics需求1# 只运行 feature 名为 功能模块2 的测试用例 pytest --alluredir ./results --clean-alluredir --allure-features功能模块2# 只运行 story 名为 子功能1 的测试用例 pytest --alluredir ./results --clean-alluredir --allure-stories子功能1# 运行 story 名为 子功能1和子功能2 的测试用例 pytest --alluredir ./results --clean-alluredir --allure-stories子功能1,子功能2# 运行 feature  story 的用例取并集 pytest --alluredir ./results --clean-alluredir --allure-features功能模块1 --allure-stories子功能1,子功能2 Allure epic/feature/story 的关系5.总结 epic敏捷里面的概念用来定义史诗相当于定义一个项目。 feature相当于一个功能模块相当于 testsuite可以管理很多个子分支 story。 story相当于对应这个功能或者模块下的不同场景分支功能。 epic 与 feature、feature 与 story 类似于父子关系。 八.Allure2 报告中添加用例描述 1.应用场景Allure 支持往测试报告中对测试用例添加非常详细的描述语用来描述测试用例详情。 2.Allure添加描述的四种方式 方式一使用装饰器 allure.description() 传递一个字符串参数来描述测试用例。 allure.description( 多行描述语br/ 这是通过传递字符串参数的方式添加的一段描述语br/ 使用的是装饰器 allure.description ) def test_description_provide_string():assert True方式二使用装饰器 allure.description_html 传递一段 HTML 文本来描述测试用例。 allure.description_html(html代码块) def test_description_privide_html():assert True方式三直接在测试用例方法中通过编写文档注释的方法来添加描述。 def test_description_docstring():直接在测试用例方法中通过编写文档注释的方法来添加描述。:return:assert True方式四用例代码内部动态添加描述信息。 import allureallure.description(这个描述将被替换) def test_dynamic_description():assert 42  int(6 * 7)allure.dynamic.description(这是最终的描述信息)# allure.dynamic.description_html( html 代码块 )九.Allure2报告中添加用例优先级 1.应用场景用例执行时希望按照严重级别执行测试用例。 2.解决可以为每个用例添加一个等级的装饰器用法allure.severity。 3.Allure 对严重级别的定义分为 5 个级别 Blocker级别中断缺陷客户端程序无响应无法执行下一步操作。 Critical级别临界缺陷 功能点缺失。 Normal级别普通缺陷数值计算错误。 Minor级别次要缺陷界面错误与UI需求不符。 Trivial级别轻微缺陷必输项无提示或者提示不规范。 4.使用装饰器添加用例方法/类的级别。类上添加的级别对类中没有添加级别的方法生效。 #运行时添加命令行参数 --allure-severities pytest --alluredir ./results --clean-alluredir --allure-severities normal,blockerimport allure def test_with_no_severity_label():passallure.severity(allure.severity_level.TRIVIAL) def test_with_trivial_severity():passallure.severity(allure.severity_level.NORMAL) def test_with_normal_severity():passallure.severity(allure.severity_level.NORMAL) class TestClassWithNormalSeverity(object):def test_inside_the_normal(self):passallure.severity(allure.severity_level.CRITICAL)def test_critical_severity(self):passallure.severity(allure.severity_level.BLOCKER)def test_blocker_severity(self):pass十.Allure2报告中添加用例支持tags标签 1.Allure2 添加用例标签-xfail、skipif import pytest # 用法使用装饰器 pytest.xfail()、pytest.skipif() # 当用例通过时标注为 xfail pytest.mark.xfail(conditionlambda: True, reason这是一个预期失败的用例) def test_xfail_expected_failure():this test is a xfail that will be marked as expected failureassert False# 当用例通过时标注为 xpass pytest.mark.xfail def test_xfail_unexpected_pass():this test is a xfail that will be marked as unexpected successassert True# 跳过用例 pytest.mark.skipif(2  2 ! 5, reason当条件触发时这个用例被跳过 pytest.mark.skipif) def test_skip_by_triggered_condition():pass2.Allure2 添加用例标签-fixture 应用场景fixture 和 finalizer 是分别在测试开始之前和测试结束之后由 Pytest 调用的实用程序函数。Allure 跟踪每个 fixture 的调用并详细显示调用了哪些方法以及哪些参数从而保持了调用的正确顺序。 import pytestpytest.fixture() def func(request):print(这是一个fixture方法)# 定义一个终结器teardown动作放在终结器中def over():print(session级别终结器)request.addfinalizer(over)class TestClass(object):def test_with_scoped_finalizers(self,func):print(测试用例)十一.Allure2报告中支持记录失败重试功能 1.Allure 可以收集用例运行期间重试的用例的结果以及这段时间重试的历史记录。 2.重试功能可以使用 pytest 相关的插件例如 pytest-rerunfailures。重试的结果信息会展示在详情页面的Retries 选项卡中。 import pytest pytest.mark.flaky(reruns2, reruns_delay2)   # reruns重试次数reruns_delay每次重试间隔时间秒 def test_rerun2():assert False十二.Allure2 报告中添加附件-图片 1.应用场景在做 UI 自动化测试时可以将页面截图或者出错的页面进行截图将截图添加到测试报告中展示辅助定位问题。 2.解决方案 Python使用 allure.attach 或者 allure.attach.file() 添加图片。 Java直接通过注解或调用方法添加。 3.python方法一 语法allure.attach.file(source, name, attachment_type, extension) 参数解释①source文件路径相当于传一个文件。②name附件名字。③attachment_type附件类型是 allure.attachment_type 其中的一种(支持 PNG、JPG、BMP、GIF 等)。④extension附件的扩展名。import allure class TestWithAttach:def test_pic(self):allure.attach.file(pic.png, name图片, attachment_typeallure.attachment_type.PNG, extensionpng)4.python方法二 语法allure.attach(body, nameNone, attachment_typeNone, extensionNone) 参数解释①body要写入附件的内容②name附件名字。③attachment_type附件类型是 allure.attachment_type 其中的一种(支持 PNG、JPG、BMP、GIF 等)。④extension附件的扩展名。5.裂图的原因以及解决办法 图片上传过程中出现了网络中断或者传输过程中出现了错误。 解决方案重新上传图片。 Allure 报告中的图片大小超过了 Allure 的限制。 解决方案调整图片大小。 图片本身存在问题。 解决方案检查图片格式和文件本身。 十三.Allure2报告中添加附件-日志 1.应用场景报告中添加详细的日志信息有助于分析定位问题。 2.解决方案使用 python 自带的 logging 模块生成日志日志会自动添加到测试报告中。日志配置在测试报告中使用 logger 对象生成对应级别的日志。 # 创建一个日志模块 log_util.py import logging import osfrom logging.handlers import RotatingFileHandler# 绑定绑定句柄到logger对象 logger  logging.getLogger(__name__) # 获取当前工具文件所在的路径 root_path  os.path.dirname(os.path.abspath(__file__)) # 拼接当前要输出日志的路径 log_dir_path  os.sep.join([root_path, f/logs]) if not os.path.isdir(log_dir_path):os.mkdir(log_dir_path) # 创建日志记录器指明日志保存路径,每个日志的大小保存日志的上限 file_log_handler  RotatingFileHandler(os.sep.join([log_dir_path, log.log]), maxBytes1024 * 1024, backupCount10 , encodingutf-8) # 设置日志的格式 date_string  %Y-%m-%d %H:%M:%S formatter  logging.Formatter([%(asctime)s] [%(levelname)s] [%(filename)s]/[line: %(lineno)d]/[%(funcName)s] %(message)s , date_string) # 日志输出到控制台的句柄 stream_handler  logging.StreamHandler() # 将日志记录器指定日志的格式 file_log_handler.setFormatter(formatter) stream_handler.setFormatter(formatter) # 为全局的日志工具对象添加日志记录器 # 绑定绑定句柄到logger对象 logger.addHandler(stream_handler) logger.addHandler(file_log_handler) # 设置日志输出级别 logger.setLevel(levellogging.INFO)代码输出到用例详情页面。运行用例命令pytest --alluredir ./results --clean-alluredir注意不要加-vs。 import allure from pytest_test.log_util import loggerallure.feature(功能模块2) class TestWithLogger:allure.story(子功能1)allure.title(用例1)def test_case1(self):logger.info(用例1的 info 级别的日志)logger.debug(用例1的 debug 级别的日志)logger.warning(用例1的 warning 级别的日志)logger.error(用例1的 error 级别的日志)logger.fatal(用例1的  fatal 级别的日志)日志展示在 Test body 标签下标签下可展示多个子标签代表不同的日志输出渠道 log 子标签展示日志信息。 stdout 子标签展示 print 信息。 stderr 子标签展示终端输出的信息。 禁用日志可以使用命令行参数控制 --allure-no-capture pytest --alluredir ./results --clean-alluredir --allure-no-capturepublic void exampleTest() {byte[] contents  Files.readAllBytes(Paths.get(a.txt));attachTextFile(byte[]的文件, 描述信息);}Attachment(value  {attachmentName}, type  text/plain) public byte[] attachTextFile(byte[] contents, String attachmentName) {return contents; }调用方法添加。 --String类型添加。 日志文件为String类型 Allure.addAttachment(描述信息, text/plain, 文件读取为String,txt); --InputStream类型添加。日志文件为InputStream流 Allure.addAttachment(描述信息, text/plain, Files.newInputStream(文件Path), txt);十四.Allure2报告中添加附件-html 1.应用场景可以定制测试报告页面效果可以将 HTML 类型的附件显示在报告页面上。 2.解决方案使用 allure.attach() 添加 html 代码。 语法allure.attach(body, name, attachment_type, extension) 参数解释body要写入附件的内容(HTML 代码块)。name附件名字。attachment_type附件类型是 allure.attachment_type 其中的一种。extension附件的扩展名。import allure class TestWithAttach:def test_html(self):allure.attach(head/headbody a page /body,附件是HTML类型,allure.attachment_type.HTML)def test_html_part(self):allure.attach(html代码块,附件是HTML类型,allure.attachment_type.HTML)十五.Allure2 报告中添加附件-视频 使用 allure.attach.file() 添加视频。 语法allure.attach.file(source, name, attachment_type, extension) 参数解释source文件路径相当于传一个文件。name附件名字。attachment_type附件类型是 allure.attachment_type 其中的一种。extension附件的扩展名。import allureclass TestWithAttach:def test_video(self):allure.attach.file(xxx.mp4, name视频, attachment_typeallure.attachment_type.MP4, extensionmp4)十六.Allure2 报告定制 应用场景针对不同的项目可能需要对测试报告展示的效果进行定制比如修改页面的 logo、修改项目的标题或者添加一些定制的功能等等。 1.修改页面 Logo (1)修改allure.yml文件在后面添加 logo 插件custom-logo-plugin在 allure 安装路径下/allure-2.21.0/config/allure.yml可以通过 where allure 或者which allure查看 allure 安装路径 (2)编辑 styles.css 文件配置 logo 图片(logo图片可以提前准备好放在/custom-logo-plugin/static中) /* 打开 styles.css 文件 目录在安装allure时解压的路径/xxx/allure-2.21.0/plugins/custom-logo-plugin/static/styles.css 将内容修改图片logo和相应的大小*/.side-nav__brand {background: url(logo.jpeg) no-repeat left center !important;margin-left: 10px;height: 40px;background-size: contain !important; }2.修改页面标题编辑 styles.css 文件添加修改标题对应的代码。 /* 去掉图片后边 allure 文本 */ .side-nav__brand-text {display: none; }/* 设置logo 后面的字体样式与字体大小 */ .side-nav__brand:after {content: 测试报告;margin-left: 18px;height: 20px;font-family: Arial;font-size: 13px; }来源https://juejin.cn/post/7232696604045803580 作者测试人•END• 记得拉至文末为糖糖点个“在看” 如有任何疑问点击添加【个人微信】咨询 喜欢这篇文章欢迎转发、分享~ 接口自动化测试系列 UI自动化测试系列 自动化测试系列 抓包工具系列 功能测试系列 面试宝典系列 测试工具系列 团队管理系列 性能测试系列
http://www.zqtcl.cn/news/23450/

相关文章:

  • 内蒙古住房与建设厅网站网站优化建议怎么写
  • 南昌网站建设的流程黄页网
  • 好看网站手机版杭州好的公司网站设计
  • 宁波网站建设就业方向购物网站怎么建设
  • 自己做的网站如何放进服务器上传文件生成链接下载
  • 一个网站如何做推广ps做网站首页
  • 昆明网站词排名优化国外设计网站图片
  • 考试网站建设整合营销中的4c指的是什么
  • 电子商务网站建设与管理简单网站建设协议书
  • 什么网站做婚礼请柬叶梓 wordpress 主题
  • 开办时 网站建设费 科目设计logo多少钱
  • 建设单位适合去哪个网站看资料ppt设计兼职
  • 手机阅读网站开发原因做进行网站推广赚钱
  • 网站的统计 怎么做开发一个网站需要几个人
  • 网站运营经验分享ppt宿迁网站建设电话
  • 站长之家工具高清360网站页面的工具栏怎么做
  • 郭仓镇做网站全球电子商务公司排行
  • 看国外网站如何做科普网站设计存在的问题
  • 贵阳哪家网站建设公司好企业做网站时应注意的事项
  • 怎样进行网站后台管理庆阳logo设计
  • 勒流网站建设制作免费ppt模板下载医院
  • 网站实时推送怎么做搜索引擎营销的主要方式有
  • 长沙有哪些做的好一点的网站关于网站规划建设方案书
  • php网站制作过程中遇到的问题及解决办法建网站的成本计算
  • 网站开发的关键绥化市住房和城乡建设网网站
  • 宁波网站的优化标识设计图片
  • 网站建设微信公众号做网站和app哪个难
  • 高密做网站的公司哈尔滨建设部网站
  • 网站建设问题整改报告无锡君通科技服务有限公司
  • 做庭院景观的那个网站推广好phpcms wap网站搭建