Jenkins 集成 Robot Framework 自动化测试

1. 安装无头浏览器

1.1 CentOS 安装 Phantomjs

  • 下载并解压

访问 Phantomjs ,找到 Download phantomjs-2.1.1-linux-x86_64.tar.bz2 的下载链接,并拷贝。

在 CentOS 执行命令:

wget https://bitbucket.org/ariya/phantomjs/downloads/phantomjs-2.1.1-linux-x86_64.tar.bz2
# 如果没有安装 bzip2 可能会报错
yum install bzip2.x86_64
tar -jxvf phantomjs-2.1.1-linux-x86_64.tar.bz2
mv phantomjs-2.1.1-linux-x86_64 /usr/local/

  • 添加到环境变量
vim /etc/profile

在行尾新增,如下内容

export PATH=$PATH:/usr/local/phantomjs-2.1.1-linux-x86_64/bin

使环境变量立即生效

source /etc/profile

查看 Phantomjs 版本号

phantomjs --version

安装完之后,发现 Phantomjs 官网有这么一句提示:Important: PhantomJS development is suspended until further notice 。意思是 PhantomJS 暂停开发了,心碎。在 Robot Framework 中使用 PhantomJS 时,Console 也会输出类似提示。

不过没关系,PhantomJS 只是无头浏览器的一种, Chrome 浏览器从 59 的版本开始新增加了一种模式 - 无头模式 headless。也就是说,可以用 Chrome headless 替代 PhantomJS 。

1.2 CentOS 安装 Chrome

  • 配置安装源
cd /ect/yum.repos.d/
vi 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 install google-chrome-stable
  • 查看 Chrome 版本
google-chrome -version
Google Chrome 68.0.3440.84
  • 安装 chromedriver

chromedriver 的版本需要与 Chrome 版本相匹配。在 chromedriver 页面,找到匹配的驱动下载链接。

wget https://chromedriver.storage.googleapis.com/2.41/chromedriver_linux64.zip
unzip chromedriver_linux64.zip
mv chromedriver /usr/bin/

tips: 如果没有将 chromedriver 文件放在 /usr/bin/ 目录下,执行测试用例时,会报错 WebDriverException: Message: 'chromedriver' executable needs to be in PATH. Please see https://sites.google.com/a/chromium.org/chromedriver/home

2. Jenkins 配置

2.1 安装 Jenkins

  • 首先需要安装 JDK 环境,然后安装 Jenkins。
wget -O /etc/yum.repos.d/jenkins.repo https://pkg.jenkins.io/redhat-stable/jenkins.repo
rpm --import https://pkg.jenkins.io/redhat-stable/jenkins.io.key
yum install jenkins

  • 新增 runner 分组和 runner 用户
groupadd -g 1234 runner
useradd runner -u 1234 -g 1234

修改配置文件

/etc/sysconfig/jenkins

JENKINS_HOME="/data/runner"
JENKINS_USER="runner"
JENKINS_PORT="8080"
  • 启动 Jenkins

访问 http://127.0.0.1:8080/ 页面:

Unlock Jenkins
To ensure Jenkins is securely set up by the administrator, a password has been written to the log (not sure where to find it?) and this file on the server:

/home/runner/secrets/initialAdminPassword

Please copy the password from either location and paste

根据页面提示,cat /home/runner/secrets/initialAdminPassword 找到密码。然后,建议直接安装 Jenkins 推荐的插件,点击 Install suggested plugins

2.1 安装 robotframework 插件

在 Manage Jenkins > Plugin Manager 页面,选择 Avaliable 标签。搜索 robot,安装插件 Robot Framework plugin

最后别忘了重启 Jenkins ,以使插件生效。

3. 流水线配置

  • Jenkins 新建一个名为 robot-framework-demo 的 Freetyle project

  • 代码管理选择 - Git 类型,输入:https://github.com/shaowenchen/docker-robotframework.git 。在仓库中,写了一个简单的 Robot Framework 测试用例,实现对网站首页测试截图的功能。

 

  • 在 Build 中,Add build step 选择 Execute Shell,输入:/usr/bin/pybot .

  • 在 Post-build Actions 中,Add post buld step 选择 Publish Robot Framework test results 。点击 Advanced 展开更多选项,在 Others files to copy 中,输入 *.png。这是为了在 report.html 或者 log.html 中,看到截图。否则,测试用例截图,并不会被归档到指定位置。

  • 安装 robot framework plugin 之后,在每次构建的详情中,就可以直接看到测试结果。

 

 

  • 查看测试报告 report

  • 查看测试日志 log

 

4. 问题与解决

  • Opening Robot Framework report/log failed

在 Manage Jenkins > Script Console 输入:

 

System.setProperty("hudson.model.DirectoryBrowserSupport.CSP", "")

点击运行。

需要重新执行一次构建, 就可以查看 report.html 和 log.html。

  • WebDriverException: Message: unknown error: DevToolsActivePort file doesn’t exist

在 Chrome 参数中新增 --no-sandbox --headless --disable-gpu 。如果不使用 Robot Framework ,在代码中:

from selenium.webdriver.chrome.options import Options

options = Options()
options.add_argument('--no-sandbox')
options.add_argument('--headless')
options.add_argument('--disable-gpu`')
driver = webdriver.Chrome(executable_path="/usr/bin/chromedriver",
chrome_options=options)
  • Selenium2Library . Capture Page Screenshot 截屏乱码

 CentOS 安装中文字体

yum install cjkuni-ukai-fonts cjkuni-uming-fonts wqy-zenhei-fonts -y

最后:下面是配套学习资料,对于做【软件测试】的朋友来说应该是最全面最完整的备战仓库,这个仓库也陪伴我走过了最艰难的路程,希望也能帮助到你!【100%无套路免费领取】

软件测试面试小程序

被百万人刷爆的软件测试题库!!!谁用谁知道!!!全网最全面试刷题小程序,手机就可以刷题,地铁上公交上,卷起来!

涵盖以下这些面试题板块:

1、软件测试基础理论 ,2、web,app,接口功能测试 ,3、网络 ,4、数据库 ,5、linux

6、web,app,接口自动化 ,7、性能测试 ,8、编程基础,9、hr面试题 ,10、开放性测试题,11、安全测试,12、计算机基础

  全套资料获取方式:点击下方小卡片自行领取即可

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
JenkinsRobot Framework中,你可以使用邮件模板来发送测试报告。以下是一个示例的邮件模板: ``` Dear Team, 以下是最新的测试报告摘要: - 总体结果:\[1\] - 通过的测试用例数:\[2\] - 失败的测试用例数:\[3\] - 重跑的测试用例数:\[4\] 你可以在附件中找到完整的测试报告。 请注意,如果你在启动Jenkins时遇到了启动不了Robot的问题,你可能需要安装Robot Framework Plugin插件的2.0.1版本。其他版本可能会导致错误。 如果你在发送邮件时遇到了证书路径错误的问题,你可以尝试以下解决方法: 1. 确保你的证书路径是正确的,并且可以被访问到。 2. 检查你的Jenkins配置,确保你已经正确配置了证书路径。 3. 如果问题仍然存在,你可以尝试手动导入证书到Jenkins的证书存储中。 如果你想要重跑失败的测试用例并合并报告,你可以使用以下命令: call pybot.bat --outputdir R1 C:\Aisa_auto\测试用例\ call pybot.bat -R R1\output.xml --outputdir R2 C:\Aisa_auto\测试用例\ Rebot -o output.xml -R R1\output.xml R2\output.xml 希望以上信息对你有帮助。如果你有任何其他问题,请随时向我提问。 谢谢! Best regards, \[Your Name\] ``` 希望这个邮件模板能满足你的需求。如果你有任何其他问题,请随时向我提问。 #### 引用[.reference_title] - *1* [Jenkins + RobotFramework 构建完成发送邮件](https://blog.csdn.net/q915730058/article/details/108583449)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [Jenkins+Robot Framework持续集成配置(二)](https://blog.csdn.net/weixin_40748006/article/details/122108730)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [Jenkins+Robot Framework持续集成配置(一)](https://blog.csdn.net/weixin_40748006/article/details/107641980)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insert_down28v1,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值