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

室内设计效果图素材网站dedecms 食品网站模板

室内设计效果图素材网站,dedecms 食品网站模板,5118网站的功能,云南人才网招聘网官网8.8.1 自动化测试模型概述 在自动化测试运用于测试工作的过程中,测试人员根据不同自动化测试工具、测试框架等所进行的测试活动进行了抽象,总结出线性测试、模块化驱动测试、数据驱动测试和关键字驱动测试这4种自动化测试模型。 线性测试 首先&#…

8.8.1 自动化测试模型概述

在自动化测试运用于测试工作的过程中,测试人员根据不同自动化测试工具、测试框架等所进行的测试活动进行了抽象,总结出线性测试、模块化驱动测试、数据驱动测试和关键字驱动测试这4种自动化测试模型。

  • 线性测试

首先,我们一起来看下使用Bing搜索APP来搜索“于涌 loadrunner”的操作步骤。打

开Bing搜索应用后,会出现一个引导界面,单击“跳过”按钮,如图8-196所示。

图8-196   跳过按钮及对应的ID相关属性信息

       然后,单击搜素框,如图8-197所示。

图8-197   搜索框及对应的ID相关属性信息

       而后,在出现的搜索文本框输入“于涌 loadrunner”搜索词,如图8-198所示。

图8-198   搜索文本框及对应的ID相关属性信息

       最后,单击“全部”按钮,如图8-199所示。

图8-199   全部按钮及对应的ID相关属性信息

       上述过程的脚本代码,如下所示:

from appium import webdriver
import time
caps = {
    'platformName': 'Android',
    'deviceName': '127.0.0.1:62001',
    'platformVersion': '5.1.1',
    'appPackage': 'com.microsoft.bing',
    'appActivity': 'com.microsoft.clients.bing.app.MainActivity'
}
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', caps)
#
单击跳过按钮
driver.find_element_by_id('com.microsoft.bing:id/skip_text').click()
#
等待1秒钟,目的让后续元素能够显示出来再操作
time.sleep(1)
#
单击搜索框
driver.find_element_by_id('com.microsoft.bing:id/search_box').click()
#
等待1秒钟,目的让后续元素能够显示出来再操作
time.sleep(1)
#
向搜索文本框输入查询的搜索词内容
driver.find_element_by_id('com.microsoft.bing:id/search_text_field').send_keys('于涌 loadrunner')
#
单击“全部”按钮
driver.find_element_by_id('com.microsoft.bing:id/opal_as_web').click()

通过自动化测试工具录制或者编写脚本的时候,按照业务操作步骤产生的相应线性脚本,

每个脚本相对独立,不依赖于其他脚本。在前面章节我们写的脚本基本都是线性脚本,不知道大家有没有发现这样的脚本存在什么问题呢?是的,这种类型的脚本结构清晰明了,但脚本代码相对冗长。举个例子:假设要在Bing搜索,搜索2次关键词,那么每次都有定位元素重复性的脚本代码,如下所示。

from appium import webdriver
import time
caps = {
    'platformName': 'Android',
    'deviceName': '127.0.0.1:62001',
    'platformVersion': '5.1.1',
    'appPackage': 'com.microsoft.bing',
    'appActivity': 'com.microsoft.clients.bing.app.MainActivity'
}
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', caps)
#
单击跳过按钮
driver.find_element_by_id('com.microsoft.bing:id/skip_text').click()
#
等待1秒钟,目的让后续元素能够显示出来再操作
time.sleep(1)
#
单击搜索框
driver.find_element_by_id('com.microsoft.bing:id/search_box').click()
#
等待1秒钟,目的让后续元素能够显示出来再操作
time.sleep(1)
#
向搜索文本框输入查询的搜索词内容
driver.find_element_by_id('com.microsoft.bing:id/search_text_field').send_keys('
于涌 loadrunner')
#
单击“全部”按钮
driver.find_element_by_id('com.microsoft.bing:id/opal_as_web').click()

#等待2秒,让大家看到搜素后的结果信息
time.sleep(2)
#
单击“返回”按钮,参见图8-200所示
driver.find_element_by_id('com.microsoft.bing:id/opal_toolbar_back').click()
#
等待1秒钟,目的让后续元素能够显示出来再操作
time.sleep(1)
#
单击搜索框
driver.find_element_by_id('com.microsoft.bing:id/search_box').click()
#
等待1秒钟,目的让后续元素能够显示出来再操作
time.sleep(1)
#
向搜索文本框输入查询的搜索词内容
driver.find_element_by_id('com.microsoft.bing:id/search_text_field').send_keys('
于涌 Appium')
#
单击“全部”按钮
driver.find_element_by_id('com.microsoft.bing:id/opal_as_web').click()

      

图8-200   返回按钮及对应的ID相关属性信息

大家不难发现,每进行一次搜索都有至少4行重复性代码。那么如果我们要搜索10个关键词,就会有40行重复性元素定位、操作的代码。

  • 模块化驱动测试

模块化驱动测试借鉴了编程语言的思想,将一些经常使用的重复性代码给封装成类或者放到一个公共模块封装为函数,方便业务脚本调用它们,而减少冗余代码。

这里同样给大家举一个例子,就是将搜索的重复性过程封装到一个公共模块写到函数里,代码如下所示。

comm.py文件:

import time
def searchkey(driver,kw):
    #
等待1秒钟,目的让后续元素能够显示出来再操作
    time.sleep(1)
    #
单击搜索框
    driver.find_element_by_id('com.microsoft.bing:id/search_box').click()
    #
等待1秒钟,目的让后续元素能够显示出来再操作
    time.sleep(1)
    #
向搜索文本框输入查询的搜索词内容
    driver.find_element_by_id('com.microsoft.bing:id/search_text_field').send_keys(kw)
    #
单击“全部”按钮
    driver.find_element_by_id('com.microsoft.bing:id/opal_as_web').click()

ys_modularization.py文件:

from appium import webdriver
from comm import searchkey
import time
caps = {
    'platformName': 'Android',
    'deviceName': '127.0.0.1:62001',
    'platformVersion': '5.1.1',
    'appPackage': 'com.microsoft.bing',
    'appActivity': 'com.microsoft.clients.bing.app.MainActivity'
}
driver = webdriver.Remote('http://127.0.0.1:4723/wd/hub', caps)
#
单击跳过按钮
driver.find_element_by_id('com.microsoft.bing:id/skip_text').click()
searchkey(driver,'
于涌 loadrunner')
#等待2秒,让大家看到搜素后的结果信息
time.sleep(2)
#
单击“返回”按钮
driver.find_element_by_id('com.microsoft.bing:id/opal_toolbar_back').click()
#
等待1秒钟,目的让后续元素能够显示出来再操作
time.sleep(1)
searchkey(driver,'
于涌 Appium')

       结合上面两个脚本,作者将搜索的重复性过程封装到comm.py文件。封装了一个名称为searchkey()的函数,包含3条元素定位、操作语句和1条睡眠语句。而后在业务测试脚本testscript.py文件导入comm模块的searchkey函数。只需调用2次searchkey函数就执行了先前8条语句的内容,可以看出封装后,代码量明显减少。

       当然除了将重复代码封装成公共函数以外,还可以使用PageObject设计模式将页面元素和操作封装成类进行调用,这个内容作者将在“PageObject设计模式”章节进行详细讲解。它也属于模块化驱动测试。

用ChatGPT做软件测试

http://www.yayakq.cn/news/865137/

相关文章:

  • 上海建设网站公司服装商城网站建设方案
  • 武陟外贸英文网站建设十个实用网站网址
  • 往国外卖货的平台优化网站关键词怎么做
  • 玉田县建设局网站河北外贸网站建设
  • 南阳网站建设代运营一个月多少钱
  • 网站建设和销售有关吗竞价推广代运营
  • 网站百度排名怎么做快北京做的比较好的网站公司
  • 温州网站开发服务商开封淘宝网站建设
  • 长春市百度优化教程
  • 全包网站陕西网站建设策划内容
  • 网站开发岗位内容和要求wordpress tinymce 代码高亮
  • 网站开发是前端还是后台做的比较好的p2p网站
  • 怎么在网上做公司网站dede网站地图栏目如何上传文件
  • 电子商务网站开发背景与原因广西网站建设推广服务
  • 腾讯网站开发网站能否做二维码
  • 鲁 网站 备案c2c的网站
  • 有了自己的网站怎样做后台星火教育培训机构
  • 如何卸载微wordpress郑州快速网站优化公司哪家好
  • 无锡低价网站排名正规的抖音推广平台
  • 个人手机网站二维码生成器软件下载
  • 免费微网站系统源码百度关键词搜索排名代发
  • 高州市网站建设海南室内设计公司排名
  • 网站方案原则做淘宝客需要那先网站
  • 网站如何做下一页建筑设计公司起名大全
  • 电商网站变化h5源码
  • 东莞建网站平台如何做淘宝商城网站设计
  • 开网站 主机 服务器做神马网站快速排名软
  • 合肥网站建设晨飞糟糕的网站设计
  • 长沙网站开发流程石家庄专业网站设计电话
  • 怎么建设百度网站wordpress 自动剪裁