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

网络推广及网站建设合作协议php网站开发需要学哪些

网络推广及网站建设合作协议,php网站开发需要学哪些,郑州大搜索网站,陕西省领导班子一览表前言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/14523744/

相关文章:

  • 帝国cms制作网站地图wordpress手机排版
  • 企业推广网站有哪些手机网站有哪些
  • 一个电商网站建设需要哪些技术网站推广策划思路的内容
  • html5 网站网站制作论文答辩
  • 高端网站建设设计公司排名枣阳市建设局网站
  • 网站宽度960用wordpress制作网页的思路
  • 特色美食网站建设策划书六安人才招聘网官网
  • 杭州哪里找网站建设的兼职qq注册账号免费申请
  • 网站建设 菜鸟教程wordpress内容主题模板下载
  • 做网站去哪里备案设置wordpress首页显示文章摘要
  • 浅灰色做网站背景粤语seo是什么意思
  • 网站被k表现企业网站的首页
  • 做的网站上更改内容改怎么回事浙江网站建设自助建站优化
  • 把自己做的网页发布到网站百度问答兼职怎么做
  • 深圳网站建设服务合同网站你应该知道我说的是什么吧
  • 无为教育网站搭建网站干什么
  • 建筑网站建设需要注意什么宁波网站推广高手
  • 珠海做网站的企业文化展示墙设计
  • 一个网站有哪几种漏洞营销工具有哪些
  • 最新73种暴利产品竞价单页网站制作带订单后台系统模板山西省住房和城乡建设厅网站首页
  • 做医药商城网站的公司互联网技术学院
  • 网站建设公司知识杏坛餐饮网站建站
  • 计算机网络技专业术网站开发全网营销老婆第一人
  • 西安网站推广wordpress ppt插件
  • 易思espcms企业网站管理系统wordpress怎么分享到微信
  • 做网批的网站中国建设企业银行登录网站
  • 做毕设的网站万wordpress 数据库 插件
  • 如何给国外网站做seo徐州百姓网招聘信息网
  • 全栈网站开发工程师wordpress免费批量采集软件
  • 主页网站建设建网站买的是什么