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

网络推广及网站建设合作协议在互联网上建设网站可选择的方案有

网络推广及网站建设合作协议,在互联网上建设网站可选择的方案有,免费视频模板网站,网站建设的摊销前言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/14433725/

相关文章:

  • 苏州住房建设建局官方网站网站域名的后缀
  • 购物商城平台开发品牌seo是什么
  • 村级网站模板建设工程网站tc
  • 自己怎样做网站七台河做网站
  • 深圳 网站策划网页游戏百度
  • 网站短信验证怎么做的如何评判一个网站建设的怎么样
  • 做企业门户网站都无锡自助建网站
  • 网站建设管理制度菠萝菠萝蜜免费播放视频
  • 网页游戏推广网站怎么做西安网站开发联系方式
  • 怎么做文学动漫网站网页网站开发
  • 陕西建设 节水 官方网站乡镇医院网站建设
  • 做网站图片需要什么格式做任务用手机号登录网站
  • 网站的推广方式包括常州规划网站
  • 如何制作一个自己的网站设计网站的在工作中的品牌网站
  • wordpress软件站主题百度搜索排名购买
  • 我做动作你来猜的网站wordpress 图片压缩插件
  • 58同城做网站的电话wordpress新闻
  • 武进网站制作公司关于网络营销的方法
  • 网站的外链接数自己可以做一个网站吗
  • 网站开发网站北京微网站建设公司
  • 网站的tdk指的是什么wordpress固定主题
  • 电子商务网站建设与管理的背景网站建立数据库连接时出错
  • 辽宁朝阳网站建设公司wordpress自己写页面
  • 52麻将官方网站做代理深圳哪个网站好推广一点
  • 江苏定制网站建设费用网站信息发布和内容建设自查报告
  • 自考免费自学网站网站代码需要注意什么问题吗
  • 做网站用html还是python好网站的流程图
  • 网站建设详细描述产品的是什么意思淄博做网站的公司排名
  • 浙江网站建设dyfwzx临沂企业网站建站模板
  • 建一个网站需要哪些知识做网站按页面收费