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

丹东seo武汉seo哪家好

丹东seo,武汉seo哪家好,wordpress哪个版本php,企业网站建设发展历程要做 ui 自动化测试,使用关键字驱动可以说是必须会的一种测试方式,它既可以在纯代码的自动化程序中运行,也可以在测试平台中使用。 使用纯代码方式时,自动化工程师先写好一个通用的程序,其他手工测试人员只需要把执行…

要做 ui 自动化测试,使用关键字驱动可以说是必须会的一种测试方式,它既可以在纯代码的自动化程序中运行,也可以在测试平台中使用。

使用纯代码方式时,自动化工程师先写好一个通用的程序,其他手工测试人员只需要把执行的页面操作关键字填入到一个表格当中,就可以执行自动化测试了。这个表格可以是 Excel 表格,也可是 yaml 文件。

使用测试平台时,测试开发工程会编写一个界面,在假面中,手工测试人员也可以选择需要操作的页面关键字,选择完以后就可以执行自动化测试了。

关键字驱动实现成本低,操作起来也方便,真是个做 ui 自动化测试的好方式。本文介绍一种简单的关键字驱动实现方式,不需要很高深的编程知识也能掌握。

关键字驱动实现主要分为三个部分:

  • 关键字方法的定义,其实就是页面的通用操作,比如点击、输入等常见操作,由自动化测试工程师编写。
  • 关键字表格配置。谁编写自动化用例,谁配置这个表格,它主要定义用例需要执行的页面操作和测试数据,最好通过脚本自动生成固定格式的文件,并且把可以选择的操作名称说明,方便使用, 在测试平台中,可以通过下拉框搜索和选择的方式选择,会更加方便。
  • 调用关键字,执行页面操作。这个也是由自动化测试工程师编写,读取 yaml 文件中的页面操作,并且执行。

定义关键字方法

如果要对 web 网页进行自动化测试,我们可以定义 Page 类,封装点击、输入等页面操作。

# keywords.py
from selenium.webdriver.remote.webdriver import WebDriver
from selenium.webdriver.remote.webelement import WebElement
from selenium.webdriver.support import expected_conditions
from selenium.webdriver.support.wait import WebDriverWaitDEFAULT_TIMEOUT = 8class Page:def __init__(self, driver: WebDriver):self.driver = driverdef goto(self, url):"""页面访问"""self.driver.get(url)def wait_clickable(self, locator, timeout=None) -> WebElement:timeout = DEFAULT_TIMEOUT if timeout is None else timeoutwait = WebDriverWait(self.driver, timeout=timeout)return wait.until(expected_conditions.element_to_be_clickable(locator))def wait_visible(self, locator, timeout=None) -> WebElement:timeout = DEFAULT_TIMEOUT if timeout is None else timeoutwait = WebDriverWait(self.driver, timeout=timeout)return wait.until(expected_conditions.visibility_of_element_located(locator))def click(self, locator):"""页面点击"""el = self.wait_clickable(locator)el.location_once_scrolled_into_viewel.click()def fill(self, locator, words):"""页面输入"""el = self.wait_visible(locator)el.send_keys(words)
复制代码

关键字表格

关键字表格是一个自动化用例的测试步骤和数据,这里我们使用 yaml 文件,action 表示要使用的页面操作,它对应前面 Page 类中的同名方法, params 表示方法需要传入的测试参数。

每个不同的用例,编写一个 yaml 文件,当需要运行自动化测试时,把 yaml 文件作为参数传入自动化程序中就可以了。

# login.yaml
-action: gotoparams:url: "https://petstore.octoperf.com/actions/Account.action?signonForm="
-action: fillparams:locator: ['name', 'username']words: 'yuze'
-action: fillparams:locator: ['name', 'password']words: '1234'
-action: clickparams:locator: ['name', 'signon']
复制代码
现在我也找了很多测试的朋友,做了一个分享技术的交流群,共享了很多我们收集的技术文档和视频教程。
如果你不想再体验自学时找不到资源,没人解答问题,坚持几天便放弃的感受
可以加入我们一起交流。而且还有很多在自动化,性能,安全,测试开发等等方面有一定建树的技术大牛
分享他们的经验,还会分享很多直播讲座和技术沙龙
可以免费学习!划重点!开源的!!!
qq群号:110685036

使用关键字操作浏览器

最后是通用的测试用例编写。定义一个 test_keyword 函数, 首先读取 login.yaml 文件中的测试步骤和数据,使用 getattr 方法, 把需要调用的页面操作名称 goto, fill, click 传入,获取 Page 类中的同名方法,调用这些方法就能实现对应的自动化操作。

这些代码大多数不需要进行额外修改,当需要运行不同的测试用例,只需要修改 yaml 文件的名称,调用不同的 yaml 测试步骤。

# test_login.pyimport yaml
import pytest
from selenium import webdriver
from keyworks import Page@pytest.fixture
def driver():d = webdriver.Chrome()d.implicitly_wait(8)d.maximize_window()yield dd.quit()def test_keyword(driver):"""获取 yaml 文件"""with open('signin.yaml', encoding='utf-8') as f:steps = yaml.safe_load(f)page = Page(driver)for step in steps:action_name = step.get('action')params = step.get('params')action = getattr(page, action_name)action(**params)
复制代码

运行

现在,我们只需要定义不同的 yaml 文件,然后使用 pytest 这样的测试框架来运行自动化用例就可以。 但是,作为一个简单版关键字驱动实现方式,这个程序还有很多的优化空间。

比如,现在编写多个 yaml 文件后,还需要创建多个 python 的 test 文件。而更加常见的方式是,可以通过命令行配置一个 yaml 文件,我就可以运行该 yaml 文件的测试步骤。

配置多个 yaml 文件,就可以运行多个 yaml 文件的测试步骤。甚至可以配置文件夹名称,就运行文件夹下所有的 yaml 文件的测试步骤。

yaml 文件的生成也可以通过命令行生成。

这个我们在后面在实现,目前来说,我们至少已经知道关键字驱动的实现方式了。

敲字不易,如果此文章对你有帮助的话,点个赞收个藏,给作者一个鼓励。也方便你下次能够快速查找。
http://www.rdtb.cn/news/22178.html

相关文章:

  • 网站加关键词病毒式营销的案例
  • 个人做的网站能备案吗互联网外包公司有哪些
  • 做平面设计的网站好消息疫情要结束了
  • 东营网站建设方案百度下载安装
  • 怎样网站seo从事网络销售都有哪些平台呢
  • 网站首页布局设计工具下载谷歌浏览器
  • 网站首页banner怎么做口碑营销公司
  • 怎么做简单的微信浏览的网站aso优化师工作很赚钱吗
  • 上海公司做网站的价格seo工具查询
  • 网站历史频道怎么做jsurl转码
  • 做国外销售都上什么网站电商关键词工具
  • 西安SEO网站建设哪家好seo兼职
  • 商品网站怎么做搜索引擎优化目标
  • 网站独立页面aso优化师工作很赚钱吗
  • 域名备案不是网站公司做的福建seo关键词优化外包
  • 做预算兼职的网站搜索引擎优化的分类
  • 无限空间 网站青岛网站建设技术外包
  • 自建电商网站销售商品网站推广优化是什么意思
  • 中国航天建设集团有限公司网站湖南有实力seo优化哪家好
  • 网站建设推广人员广东网站营销seo方案
  • wordpress 4.9.9抖音seo排名系统
  • 新手做亚马逊要逛哪些网站世界足球排名前100名
  • 安装好采集侠网站地图后在哪里查看网站地图刷seo关键词排名软件
  • 响应式网站是个坑南宁seo优化公司
  • 公司做网站需准备什么材料四年级下册数学优化设计答案
  • it外包公司工资一般多少网站优化排名软件
  • 资阳网站建设seo培训
  • 手机如何做api网站南宁网站建设公司排行
  • 怎么做优化网站排名百度网页入口官网
  • 网站如何做地面推广域名注册商怎么查