RobotFramework实战篇-PC端web自动化demo及持续集成

简介: Robotframework该框架的学习成本比较低,很多功能都是现成的,而且脚本易于维护,而且同时支持web端,移动端以及接口自动化,用例套件管理以及用例执行和报告查看,日志记录等功能都比较完善,而且可扩展性强。

 自己学习自动化的话,除了要选好一款框架之外,还要选好一个用来练习的项目。这里小编推荐新手入门可以考虑一下Robotframework这个框架,原因:该框架的学习成本比较低,很多功能都是现成的,而且脚本易于维护,而且同时支持web端,移动端以及接口自动化,用例套件管理以及用例执行和报告查看,日志记录等功能都比较完善,而且可扩展性强。对于企业来说的话 ,选用这款工具,对将来招聘的时候的成本没这么大,如果每个人都选择自己手写脚本封装框架去实现自动化的话,以后人员离职,要找个人来维护现有脚本,有一定的难度,每个人的编码风格和能力参差不齐,选用脚本的方式的话,对测试人员的能力要求比较高。

   练习的项目的话,这里我从网上找了一个开源的项目,部署在自己的机器上,项目可以在gitee上搜索linjiashop,上面有写怎么部署 ,我也写了一篇文章简单介绍怎么部署:你们要的测试练习网站来了


   工具+项目选好之后,接下来以项目的登录功能为例,演示一下如何使用Robotframework工具实现登录模块的自动化

1、RobotFramework环境搭建 ,建议使用Python3.7的版本,不要使用3.8及以上的版本,以免RIDE出现兼容性问题

2、安装做web端的自动化所需依赖的第三方插件:

pip install -U robotframework-selenium2library

新建项目

菜单File->New Project,输入项目名称,选择脚本存放路径,Type选择Directory,表示以文件夹的方式去存储项目数据,Format任选一个都可以,表示用某个格式的文件去存储用例。


微信图片_20220113215501.png


新建测试套件

在项目下新建测试套件(Suite),命名为login_testsuite


新建测试用例

测试套件建好之后,接下来就可以在测试套件下开始新建测试用例了。

下面以我从网上找的一个开源网站部署到服务器为例,演示一下如何实现打开浏览器实现自动登录的这样一个过程。 练习网站部署教程

微信图片_20220113215504.png



Robotframework是一个关键字驱动,做web端UI自动化的话,底层还是用的selenium框架,因此,需要先用pip命令安装robotframework-selenium2library 插件,安装之后,在测试套件中可以引入Selenium2Library的Library:


微信图片_20220113215506.png这里先了解一下web自动化的几个常用的关键字:

  • Open Browser 打开浏览器
  • Maximize Browser Window 最大化浏览器
  • Close All Browsers 关闭浏览器
  • Input Text 文本框输入
  • Click Element 点击元素
  • Sleep 设置等待时长

通过以上几个关键字,就可以完成 自动启动浏览器,输入账号密码登录。

用例编写如下:


*** Test Cases ***
login1
    Open Browser    http://8.129.162.225:9528/#/login    Chrome
    Maximize Browser Window
    Input Text    name=username    admin
    Sleep    1
    Input Text    name=password    admin123456
    Sleep    1
    Click Element    xpath=//*[@id="app"]/div/form/button/span
    Sleep    3
    Close All Browsers

用RIDE查看用例的话,显示如下:


微信图片_20220113215509.png


用例的话,本身就是存储在一个文本文件中,因此,也可以用pycharm或者其他编辑器去进行编辑。


执行用例



微信图片_20220113215511.png查看报告


微信图片_20220113215513.png


到这就完了?那肯定还没完,做自动化测试,除了要考虑场景和用例的设计,还要考虑用例的管理,用例的执行,报告的生成。自动化测试的脚本一般都是集成到jenkins持续集成平台上面,结合测试环境的自动部署,触发自动执行用例。那接下来,让我们一起看一下如何将RF的脚本集成到jenkins平台中去运行。


RF脚本集成Jenkins运行

准备工作

1、搭建jenkins持续集成环境,并安装好推荐的插件

2、注册一个gitee帐号/公司内部搭建的git仓库帐号,将自己的测试脚本上传到git进行管理(主要是考虑到团队协作,可能多人修改脚本)。

3、准备一台linux服务器/虚拟机,在上面安装谷歌浏览器,并下载好对应版本的浏览器驱动文件,并将驱动文件所在目录加入到环境变量中去。

  • 以阿里云上面Centos 8.2的镜像为例,演示一下如何安装谷歌浏览器来运行UI自动化的脚本
cd /etc/yum.repos.d
vim google-chrome.repo  ,内容如下:
[google-chrome]
name=google-chrome
baseurl=http://dl.google.com/linux/chrome/rpm/stable/$basearch
enabled=1
gpgcheck=1
gpgkey=https://dl-ssl.google.com/linux/linux_signing_key.pub
保存文件后,输入下面的命令在线安装
yum -y install google-chrome-stable --nogpgcheck

安装完成后,输入google-chrome --version即可查看谷歌浏览器的版本:


微信图片_20220113215515.png


下载浏览器对应版本的chromedriver驱动,解压后存放在服务器某个目录下,并将驱动文件所在目录配置环境环境,并注意驱动文件是否具有可执行权限。

4、安装jenkins上的Robot Framework插件,用来展示报告


微信图片_20220113215518.pngjenkins中job的关键配置:


微信图片_20220113215521.png


微信图片_20220113215523.png


微信图片_20220113215525.png


运行后的效果:


微信图片_20220113215528.png


如果在线查看报告的时候出现以下错误:


微信图片_20220113215530.png


可以用下面的方式进行解决:

打开jenkins的脚本命令行,然后执行下面的命令后,就可以正常查看报告

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP","sandbox allow-scripts; default-src 'none'; img-src 'self' data: ; style-src 'self' 'unsafe-inline' data: ; script-src 'self' 'unsafe-inline' 'unsafe-eval' ;")

到这里,RF脚本持续集成差不多就配置完了,可以根据自己的需要加上邮件提醒以及定时构建,环境更新后自动触发等操作,对jenkins相关操作不熟悉的,可以关注小编的其他文章喔。

相关文章
|
8月前
|
存储 关系型数据库 测试技术
玩转n8n测试自动化:核心节点详解与测试实战指南
n8n中节点是自动化测试的核心,涵盖触发器、数据操作、逻辑控制和工具节点。通过组合节点,测试工程师可构建高效、智能的测试流程,提升测试自动化能力。
|
8月前
|
Web App开发 前端开发 JavaScript
Playwright极速UI自动化实战指南
Playwright告别Selenium痛点,以智能等待、强大选择器、网络拦截与多设备模拟四大利器,提升自动化效率与稳定性。本文通过实战代码详解其加速秘籍,助你构建高效、可靠的UI测试方案。
|
7月前
|
数据采集 运维 监控
爬虫与自动化技术深度解析:从数据采集到智能运维的完整实战指南
本文系统解析爬虫与自动化核心技术,涵盖HTTP请求、数据解析、分布式架构及反爬策略,结合Scrapy、Selenium等框架实战,助力构建高效、稳定、合规的数据采集系统。
1159 62
爬虫与自动化技术深度解析:从数据采集到智能运维的完整实战指南
|
8月前
|
人工智能 自然语言处理 API
快速集成GPT-4o:下一代多模态AI实战指南
快速集成GPT-4o:下一代多模态AI实战指南
607 101
|
9月前
|
Web App开发 人工智能 JavaScript
主流自动化测试框架的技术解析与实战指南
本内容深入解析主流测试框架Playwright、Selenium与Cypress的核心架构与适用场景,对比其在SPA测试、CI/CD、跨浏览器兼容性等方面的表现。同时探讨Playwright在AI增强测试、录制回放、企业部署等领域的实战优势,以及Selenium在老旧系统和IE兼容性中的坚守场景。结合六大典型场景,提供技术选型决策指南,并展望AI赋能下的未来测试体系。
|
7月前
|
弹性计算 人工智能 前端开发
在阿里云ECS上部署n8n自动化工作流:U2实例实战
本文介绍如何在阿里云ECS的u2i/u2a实例上部署开源工作流自动化平台n8n,利用Docker快速搭建并配置定时任务,实现如每日抓取MuleRun新AI Agent并推送通知等自动化流程。内容涵盖环境准备、安全组设置、实战案例与优化建议,助力高效构建低维护成本的自动化系统。
1827 5
|
8月前
|
人工智能 Java API
Java与大模型集成实战:构建智能Java应用的新范式
随着大型语言模型(LLM)的API化,将其强大的自然语言处理能力集成到现有Java应用中已成为提升应用智能水平的关键路径。本文旨在为Java开发者提供一份实用的集成指南。我们将深入探讨如何使用Spring Boot 3框架,通过HTTP客户端与OpenAI GPT(或兼容API)进行高效、安全的交互。内容涵盖项目依赖配置、异步非阻塞的API调用、请求与响应的结构化处理、异常管理以及一些面向生产环境的最佳实践,并附带完整的代码示例,助您快速将AI能力融入Java生态。
1346 12
|
9月前
|
人工智能 缓存 测试技术
Playwright进阶指南 (6) | 自动化测试实战
2025企业级测试解决方案全面解析:从单元测试到千级并发,构建高可用测试体系。结合Playwright智能工具,解决传统测试维护成本高、环境依赖强、执行效率低等痛点,提升测试成功率,内容从测试架构设计、电商系统实战框架、高级测试策略、Docker化部署、CI/CD集成及AI测试应用,助力测试工程师掌握前沿技术,打造高效稳定的测试流程。
Playwright进阶指南 (6) | 自动化测试实战
|
8月前
|
人工智能 数据可视化 测试技术
AI 时代 API 自动化测试实战:Postman 断言的核心技巧与实战应用
AI 时代 API 自动化测试实战:Postman 断言的核心技巧与实战应用
1001 11
|
9月前
|
人工智能 自然语言处理 分布式计算
AI 驱动传统 Java 应用集成的关键技术与实战应用指南
本文探讨了如何将AI技术与传统Java应用集成,助力企业实现数字化转型。内容涵盖DJL、Deeplearning4j等主流AI框架选择,技术融合方案,模型部署策略,以及智能客服、财务审核、设备诊断等实战应用案例,全面解析Java系统如何通过AI实现智能化升级与效率提升。
752 0

热门文章

最新文章