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

优质采官方网站安徽外径建设集团如何黑掉jsp做的网站

优质采官方网站安徽外径建设集团,如何黑掉jsp做的网站,wordpress 充值,组培实验室建设网站前言1、设计用例方法关键字1.1、获取元素属性值2.1、断言2、代码实现2.1、实现获取元素属性值2.1.1 函数实现2.1.2 方法配置2.1.2 用例调试2.1.3 html属性2.2、实现断言2.2.1 函数2.2.2 方法配置2.2.3 用例调试1#xff09;断言结果成功2#xff09;断言结果失败前言 本文的…前言1、设计用例方法关键字1.1、获取元素属性值2.1、断言2、代码实现2.1、实现获取元素属性值2.1.1 函数实现2.1.2 方法配置2.1.2 用例调试2.1.3 html属性2.2、实现断言2.2.1 函数2.2.2 方法配置2.2.3 用例调试1断言结果成功2断言结果失败前言 本文的方法针对下面文章的框架而写 https://blog.csdn.net/weixin_40331132/article/details/106482043 框架源码下载 https://download.csdn.net/download/weixin_40331132/85580645 框架源码中没有包含本文代码请自行按照本文的步骤添加断言方法 针对这编文章中自动化框架的断言很多人问我如何实现当时写博客时没考虑断言场景只是把框架搭建完成让大家自行扩展现在我在这里将如何实现断言详细步骤输出。 相信完整的学习完这个内容之后应该更加熟练的自由扩展这个自动化框架了。 下面是断言用例的一个初如设计方案 如上图所示实现断言需要先获取断言对象的相关属性的值然后通过对属性的值进行相关校验。来判断用例是否执行成功。 效果视频 Web自动化框架断言实现具体实现请仔细阅读后续。 1、设计用例方法关键字 1.1、获取元素属性值 获取元素属性值内容 typelocaltorindex这三个参数可以将目标元素定位到 value参数传入attribute属性类型通过这个参数来取对应属性的值 返回参数是result 获取元素的value值然后存放到 ${xxxxx}变量中图中变量就是 ${attr_value} ${attr_value}后面的用例行可以使用到不理解可自行搜索自动化测试中的参数化知识点此处不过多解释 2.1、断言 断言的内容 参数type断言对像的数据类型float浮点型int(整形 )string(字符串) 参数locator, 断言方式相等、不相等 大于小于 参数input 断言对象可以参数化 参数check, 判断值 逻辑就是通过 对断言对象 与 判断值 它俩是不是相等或其它方式判断得出结论用例是否通过 2、代码实现 2.1、实现获取元素属性值 在这个框架里面实现 ’获取元素属性值‘方法分三步骤 1、在webdriveroperator.py文件 WebdriverOperator 类里添加一个函数get_element_attribute_value实现业务代码 2、将函数在base.ini配置成方法关键字 3、编写用例调试功能 2.1.1 函数实现 编写下面代码之前先在webdriveroperator.py添加两个import #用来辅助联元素的方法 from selenium.webdriver.remote.webelement import WebElement #存放变量的单例类 from basefactory.customfunctiontor import CaseData 在webdriveroperator.py文件 WebdriverOperator 类添加函数get_element_attribute_value 代码如下 def get_element_attribute_value(self, **kwargs):获取元素属性值kwargs:result: 存放获取到元素值的变量type: 定位器类型locator元素定位器index元素序号try:res_params kwargs[result]type kwargs[type]locator kwargs[locator]attr_name kwargs[input]except KeyError:return False, [获取元素属性值]缺少传参try:index kwargs[index]except KeyError:index 0#先通过已有的获取元素方法获取到元素isOK, result self.find_element(type, locator, index)#获取元素失败将失败原因返回if isOK is False:return isOK, resultelement: WebElement resulttry:value element.get_attribute(attr_name) #获取元素的属性值setattr(CaseData, res_params, value) #将获取到的属性值 存放到 res_params 里去except Exception as e:return False, [获取元素属性值]执行失败具体原因【{}】.format(str(e))return True, [获取元素属性值]执行成功已将元素【{}】的【{}】属性值【{}】存放到变量中.format(locator, attr_name, value) 2.1.2 方法配置 在base.ini的【Function】下添加一行 获取元素属性值 get_element_attribute_value 2.1.2 用例调试 编写用例 idresultkeywordtypelocatorindexinputchecktime1打开网页urlhttps://www.baidu.com2等待元素可见xpath//*[id“kw”]33输入xpath//*[id“kw”]飞人4调用用例common-bai5点击xpath//*[id“su”]9attr_value获取元素属性值xpath//*[id“su”]value 直接看第9行用例它表示 获取 //*[id“su”] (百度按钮)的value 属性的值存放到变量${attr_value}中 运行框架的入口文件 test_run.py 它自动运行最终结果如下图 查看运行日志 调试成功 2.1.3 html属性 html有很多属性如下图这时不一定全面 里面红框标记的属性都可以获取一些文字或数据全部可以用来断言要获取对应属性的值只需要编写用例时使用’获取元素属性值’在input字段给出对应的属性名即可。 接下来可以实现断言方式了 2.2、实现断言 在这个框架里面实现 ’断言‘方法分三步骤 1、在webdriveroperator.py文件 WebdriverOperator 类里添加一个函数case_assert实现业务代码 2、将函数在base.ini配置成方法关键字 3、编写用例调试功能 2.2.1 函数 函数里需要两层判断 第一层判断断言对象的数据类型不同数据类型断言方式里的实现代码不相同 第二层判断断言方式针对不同的判断方式写出不同逻辑代码与断言结果 在webdriveroperator.py文件 WebdriverOperator 类里添加函数case_assert 代码如下 def case_assert(self, **kwargs):断言kwargs:type:断言对像的数据类型float浮点型int(整形 )string(字符串)locator: 断言方式相等、不相等 大于小于input: 断言对象check: 判断值desc:通过 对断言对象 与 判断值 它俩是不是相等或其它方式判断得出结论用例是否通过try:type kwargs[type]ass_func kwargs[locator]ass_obj str(kwargs[input])check str(kwargs[check])except KeyError:return False, 缺少传参try:if str.lower(type) string:if ass_func 相等:isOK, result (True, [断言]结果成功断言对象【{}】与判断值【{}】相等.format(ass_obj, check)) \if ass_obj check else \(False, [断言]结果失败断言对象【{}】与判断值【{}】不相等.format(ass_obj, check))elif ass_func 不等于:isOK, result (False, [断言]结果失败断言对象【{}】与判断值【{}】相等.format(ass_obj, check)) \if ass_obj check else \(True, [断言]结果成功断言对象【{}】与判断值【{}】不相等.format(ass_obj, check))elif ass_func 包含:isOK, result (True, [断言]结果成功断言对象【{}】与包含判断值【{}】.format(ass_obj, check)) \if check in ass_obj else \(False, [断言]结果失败断言对象【{}】与不包含判断值【{}】.format(ass_obj, check))else:isOK, result False, [断言]执行失败断言【{}】方法不正确请给出正确的断言方法.format(ass_func)elif str.lower(type) int or str.lower(type) float:ass_obj, check int(ass_obj), int(check) if str.lower(type) int else float(ass_obj), float(check)if ass_func 相等:isOK, result (True, [断言]结果成功断言对象【{}】与判断值【{}】相等.format(ass_obj, check)) \if ass_obj check else \(False, [断言]结果失败断言对象【{}】与判断值【{}】不相等.format(ass_obj, check))elif ass_func 不等于:isOK, result (False, [断言]结果失败断言对象【{}】与判断值【{}】相等.format(ass_obj, check)) \if ass_obj check else \(True, [断言]结果成功断言对象【{}】与判断值【{}】不相等.format(ass_obj, check))elif ass_func 大于:isOK, result (True, [断言]结果成功断言对象【{}】大于判断值【{}】.format(ass_obj, check)) \if ass_obj check else \(False, [断言]结果失败断言对象【{}】不大于判断值【{}】不相等.format(ass_obj, check))elif ass_func 小于:isOK, result (True, [断言]结果成功小于对象【{}】大于判断值【{}】.format(ass_obj, check)) \if ass_obj check else \(False, [断言]结果失败断言对象【{}】不小于判断值【{}】不相等.format(ass_obj, check))else:isOK, result False, [断言]执行失败断言【{}】方法不正确请给出下确的断言方法.format(ass_func)else:isOK, result False, [断言]执行失败原因【{}】类型不存在请给出正确的数据类型.format(type)except Exception as e:isOK, result False, [断言]执行失败具体原因:【{}】.format(str(e))if isOK is False:result 。截图路径 self.get_screenshot_as_file()return isOK, result 2.2.2 方法配置 在base.ini的【Function】下添加一行 断言 case_assert [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FL4OtLnZ-1679198396310)(en-resource://database/1031:1)] 没配置方法在用例中使用’断言‘会提示’断言方法未注册‘ 配置完成后便可以在用例中使用’断言‘方法了 2.2.3 用例调试 下面演示断言成功与失败的两个案例 1断言结果成功 编写用例如下图 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-buaOhl2s-1679198396311)(en-resource://database/1033:1)] 用例将图中的注释用例清掉版本 idresultkeywordtypelocatorindexinputchecktime1打开网页urlhttps://www.baidu.com2等待元素可见xpath//*[id“kw”]39attr_value获取元素属性值xpath//*[id“su”]value10断言string相等${attr_value}百度一下 执行框架入口文件 test_run.py浏览器结果 执行日志 测试报告 2断言结果失败 将第id为10的用例的check改成 ’百度一下吧‘ 用例如下 idresultkeywordtypelocatorindexinputchecktime1打开网页urlhttps://www.baidu.com2等待元素可见xpath//*[id“kw”]39attr_value获取元素属性值xpath//*[id“su”]value10断言string相等${attr_value}百度一下吧 执行结果 浏览器 执行日志 测试报告 调试断言成功string字符类型的断言很稳定 至于int 与 float数据类型看官们自己去用吧用出问题可自行优化。 至此断言方法已经实现。 本文也是复习了框架扩展新方法的知识点学会了扩展即掌握了这个框架的精髓。
http://www.hkea.cn/news/14355609/

相关文章:

  • 网站进度条源代码juqery-uiwordpress list
  • 濮阳网站建设陈帅网站怎么做组织图
  • 在线看网站建设哈尔滨建筑信息网
  • 网站建设费用 开办费公司网站管理维护
  • 网站建设选择哪种开发语言最好上海网站建设q.479185700強
  • 南昌专业网站建设公司哪家好制作卡牌的网站
  • 重庆转店铺哪个网站平台好官方查企业信息的网站
  • 北京的医疗网站建设导视设计调研报告
  • 教育局网站建设方案做了半个月跨境电商不想干了
  • godday网站建设潍坊作风建设网站
  • 网站开发与推广方向怎么自学网站建设
  • 网站建设公司能信吗自动化系统网站建设首选公司
  • 中英文网站是咋做的福州网站建设推广公司
  • 东莞市手机网站建设品牌湖南网站建设推荐
  • 基于dw的动物网站设计论文随州网
  • 免费word模板下载哪个网站wordpress换nginx 数据库
  • 彩票网站维护需要几天百度网页
  • 网站建设价值成品视频直播软件推荐哪个好一点非周马加
  • 中文网站建设方案wordpress 网站开发
  • 官网网站建设公司网页设计个人简历代码
  • 怎么做打码网站如何做流量充值网站
  • 为什么最近好多网站打不开了深圳推广公司是什么
  • 河北廊坊seo网站建设网站优化湖南建设监理官方网站
  • 私人订制网站的建设的设计表wordpress编辑器美化
  • 苏州 网站制作公司新闻热点事件素材
  • 网站架构方案浙江创都建设有限公司网站
  • 如果网站设计时经常浏览不良网站会被记录吗
  • 临沧市网站建设网站开发开发需求文档模板
  • 如何做古诗词网站网站动态图怎么做
  • 公司网站二维码怎么做的公司网站费怎么做分录