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

电子商务网站建设及推广方案商品推广

电子商务网站建设及推广方案,商品推广,wordpress图片站点,网站对于企业的作用要做 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.khdw.cn/news/30085.html

相关文章:

  • 做网站优化的价格宁波网站推广专业服务
  • 企业网站日常维护核心关键词举例
  • 本周时事新闻概要10条企业整站seo
  • 百度小程序制作流程网站seo优化外包
  • 建设网站要买服务器优化大师软件下载
  • 找做网站的公司安装百度到手机桌面
  • 网站建设 比选免费产品推广网站
  • 中国做网站公司排名国外搜索引擎入口
  • 做网站页面网络营销的优势
  • 免费企业网站程序asp建什么网站可以长期盈利
  • 靠谱的app开发公司百度优化软件
  • 满城做网站电话杭州免费网站制作
  • 黄埔建网站公司线上培训机构排名前十
  • 外贸网站seo教程郑州seo外包平台
  • 电子商务网络营销方式有哪些seo优化是什么职业
  • 新建的网站打不开抖音推广网站
  • 电商网站开发需求文档360指数在线查询
  • wordpress 首页调用旺道seo工具
  • 计算机网站建设实训总结开封seo公司
  • 外国游戏概念设计网站优化课程设置
  • 网站的音乐链接怎么做北京网络营销推广公司
  • 网站建设分为那几个模块长春网站建设
  • 沧州网站建设专业的公司4000-262-外贸是做什么的
  • 在线制作图片及图片处理工具免费长春seo网站排名
  • 客户对网站设计的要求博客seo优化技术
  • 网站建设目标 优帮云域名注册后如何建网站
  • 网站编程学兰州seo推广
  • 莱芜益寿堂网站杭州网站seo
  • 网站开发做什么的seo怎么才能做好
  • SEO案例网站建设公司整站seo定制