前言 SeleniumLibrary 是针对 Robot Framework 开发的 Selenium 库.它也 Robot Framework 下面最流程的库之一.主要用于编写 Web UI 自动化测试.今天我们一起来学习SeleniumLibrary的用法. 安装 pip install --pre --upgrade robotframework-seleniumlibrary 简单使用示例 创建 robot_se.robot 文件.调用 SeleniumLibrary 中所提供的关键字,…
背景 在微服务化的调用环境下,测试数据及接口依赖的维护是一个问题,因为依赖的接口和数据可能不在同一个服务下,而这相关的多个服务往往是不同人员来测试的. 因此为了节省沟通成本,避免关键字的重复冗余.所以我们在RF框架推广之初就确定了接口关键字统一管理的基调,方便不同服务之间的调用. 脚本介绍 中间数据Excel 为了让关键字的格式统一,我们每一个业务线使用同一个关键字数据生成脚本,小伙伴们通过维护Excel来维护接口关键字. 被维护的Excel内容如下: Excel文件名称规则: 为接口服务名称和…
写在前面 本文我们一起来学习如何使用Robot Framework 的RequestsLibrary库,涉及POST.GET接口测试,RF用例分层封装设计等内容. 接口 接口测试是我们最常见的测试类型之一,主要用于检测外部系统与系统之间以及内部各个子系统之间的交互点.测试的重点是要检查数据的交换,传递和控制管理过程,以及系统间的相互逻辑依赖关系等.--摘自百度百科 RequestsLibrary RequestsLibrary是基于reuqests库定义的一个Robot Framework 库.…
前言 我们公司在推广RF这个框架做后端接口测试,力求让同事们能更快的完成服务端需求的自动化,作为主导者之一,决定分享一些经验,方便后来者. 我会从安装部署.Request.selenium.自定义框架.jenkins集成docker运行五个方面来记录这些信息. 环境部署 Python3 我们的第一步就是安装Python3,安装方法可以自行搜索. venv 每个应用可能需要各自拥有一套"独立"的Python运行环境.venv就是用来为一个应用创建一套"隔离"的Pyth…
背景 虽然大家都已经使用了统一的关键字,但是在检查了一些测试用例之后,还是发现因为大家对RF的熟悉程度不一导致的测试用例颗粒度差异很大的情况:而且在手动方式转化测试用例过程中,有不少工作是完全重复的且意义不大的,所以我就想了一个使用脚本生成自动化测试用例的方式来解决这个问题. 实现思路 前一篇文章里提到过,我们使用了一个中间的Excel来生成关键字信息,所以我这边的第一想法就是让这个Excel发挥更大的作用 -- 即直接通过Excel生成标准的测试用例. 具体的思路也很简单: 直接转化我们填写在…
背景 因为服务的迁移,Jira版本的更新,很多接口文档的维护变少,导致想要编写部分服务的自动化测试变得尤为麻烦,很多服务,尤其是客户端接口需要通过抓包的方式查询参数来编写自动化用例,但是过程中手工重复操作过多,不利于RF用例的快速覆盖,本文给大家介绍如何通过解析抓包拦截的数据,转化为测试关键字并生成测试用例. 实现 抓包 如何安装抓包工具在本文就不赘述了,抓包,过滤出想要的数据,导出,保存的格式注意选择为har: 数据解析 感兴趣的小伙伴可以直接查看导出的har文件内容,它是一个标准的JSON格…
web UI自动化项目实战-项目 项目使用禅道,所以你需要搭建1个禅道,搭建禅道的方法和步骤见 https://www.cnblogs.com/xinhua19/p/13151296.html 搭建UI自动化的框架 第一步,搭建框架,从配置文件信息开始,然后读取配置文件,然后是读取驱动. 第二步,对selenium中的一些方法做二次封装 第三步,封装页面的元素对象和元素的新增,删除,查询,修改等操作 第四步,测试用例层,设计测试用例 selenium读取配置文件的方法封装 有了配置config.…
Robot Framework 是一款关键字驱动的验收自动化测试框架,现在在国内使用的越来越广泛了.一种通用的Web UI自动化测试解决方案是Robot Framework+Selenium2Library (RFS).一般要使用Selenium2Library库,必须配置好浏览器驱动(driver).不然就无法驱动浏览器来执行自动化命令. 浏览器驱动对应表 上表简要说明了不同的浏览器所需要的驱动程序.这里我们重点介绍如何基于rfs+phantomjs进行无界面UI自动化测试. phantomj…
首先新建一个项目“RobotDemo".项目Type一般选择“Directory”形式. 项目第一层可以放3种文件:Test Suite.Directory 和 Resource File. Test Suite 我们右键点击"RobotDemo",选择”New Suite",填上名字"TestSuite1".依次可以建立很多TestSuite. 在TestSuite1里面可以New 属于TestSuite1的 "User Keywor…
本文承接上一篇:Java高级项目实战之CRM系统01:CRM系统概念和分类.企业项目开发流程 先来CRM系统结构图: 每个模块作用介绍如下: 1.营销管理 营销机会管理:针对企业中客户的质询需求所建立的信息录入功能,方便销售人员进行后续的客户需求跟踪与联系,提高企业客户购买产品的几率. 营销开发计划:开发计划是根据营销机会而来,对于企业质询的客户,对应会有相应的销售人员对于该客户进行具体的沟通交流,此时对于整个crm 系统而言,通过营销开发计划来进行相应的信息管理,提高客户的购买企业产品的可能性…