因为项目的原因,需要将脚本在linux环境无浏览器化去跑,那么原有的在windows系统下有浏览器化的自动化脚本场景就不适用了,这里给出linux系统下搭建phantomjs+webdriver+testng工程的方法

一:搭建java环境(因为我的工程是用java语言来写的)

这个我就不多说了,自己网搜吧,搭建正确即可

二:搭建phantomjs

  • 首先在linux下输入命令:uname -a

查看系统是32位还是64位

如下:64位(出现x86_64位字样)

[autotest@zdhcs5 ~]$ uname -a
Linux zdhcs5 2.6.32-431.el6.x86_64 #1 SMP Sun Nov 10 22:19:54 EST 2013 x86_64 x86_64 x86_64 GNU/Linux

  • 进入phantomjs下载官网,地址:http://phantomjs.org/download.html

对应下载符合自己系统版本的phantomjs安装包即可,我的系统是64位的,所以我下载的是:phantomjs-2.1.1-linux-x86_64.tar.bz2

  • 上传下载到的phantomjs安装包到服务器上,并解压缩重命名,解压缩命令为:tar xvf phantomjs-2.1.1-linux-x86_64.tar.bz2

  • 创建phantomjs的环境变量

我的phantomjs安装包解压缩路径为:/home/autotest/phantomjs/bin

则对应的命令为:

进入.bash_profile文件:

cd

vi .bash_profile

在文件最后一行添加此行:export PATH=${PATH}:/home/autotest/phantomjs/bin

红色部分根据机器实际路径进行对应修改,执行命令让环境变量生效:source .bash_profile

执行即可。

  • 验证phantomjs安装是否正确

执行phantomjs --version命令,出现版本号则安装成功

三:在linux中搭建eclipse

因为需要在linux环境下开发,所以在linux服务器上安装了一个eclipse,目的是为了界面化的编程java代码和调试,最后脚本真实运行时可不用eclipse,我的项目里是用ant去跑testng整个工程的脚本。

linux安装eclipse很简单和windows差不多,只需要去官网下载对应包上传至服务器解压即可。

ok,eclipse就放在服务器上,等下面的第四步安装后,就能派上用场了。

四:安装linux的vnc界面化环境

该步骤具体可参考我的另一篇博文:http://www.cnblogs.com/miaomiaokaixin/p/5526732.html

五:搭建testng+webdriver+ant+phantomjs工程

相信通过第四步以后,你已经可以通过vnc客户端工具登录到界面化的linux服务器上了

此时进入eclipse安装目录,启动eclipse

启动成功后,我们就可以在eclipse中编程代码了。

因为下载的eclipse自集成了ant插件,所以可直接使用ant来跑testng的工程

上面只是一个简单的例子,用phantomjs无浏览器化运行webdriver的代码:

这里涉及到两个xml文件,

1:如果eclipse下载了testng插件,可以convert to TestNG的配置文件,还可以指定位置,这里我放在了src下,即/src/testng.xml

如果没有安装testng插件,可以直接手动写一个或者从其他项目拷贝一个testng.xml文件,按照自己的项目修改一下就行了

2:build.xml文件为ant构建运行需要的配置文件,这里给出我的build.xml文件的构建

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <project basedir="." default="runtest" name="automation test">
 3     <!--项目根目录-->
 4     <property name="base.dir" value="/home/autotest/workspace/auto-project" />
 5     <!--报告输出目录-->
 6     <property name="testng.output.dir" value="${base.dir}/test-output" />
 7     <property name="lib.dir" value="${base.dir}/lib" />
 8     <!--调用的testng 用例执行xml文件,这里是文件名-->
 9     <property name="testng.file" value="testng.xml" />
10     <property name="suite.name" value="测试登录" />
11     <taskdef resource="testngtasks" classpath="${lib.dir}/testng.jar" />
12     <target name="clean">
13         <delete dir="${base.dir}/bin" />
14     </target>
15     <target name="compile" depends="clean">
16         <mkdir dir="${base.dir}/bin" />
17         <javac srcdir="${base.dir}/src" encoding="UTF-8" destdir="${base.dir}/bin" classpathref="classes" includeantruntime="off" debug="on" debuglevel="lines,vars,source" />
18     </target>
19     <path id="classes">
20         <fileset dir="${lib.dir}" includes="*jar" />
21         <fileset dir="${lib.dir}" includes="*zip" />
22         <pathelement location="${base.dir}/bin" />
23     </path>
24     <taskdef resource="net/sf/antcontrib/antlib.xml">
25         <classpath>
26             <pathelement location="lib/ant-contrib-1.0b3.jar" />
27         </classpath>
28     </taskdef>
29     <target name="runtest" depends="compile">
30         <testng outputdir="${testng.output.dir}" classpathref="classes" useDefaultListeners="false" listeners="org.uncommons.reportng.HTMLReporter,org.uncommons.reportng.JUnitXMLReporter,org.testng.reporters.FailedReporter">
31             <sysproperty key="file.encoding" value="UTF-8" />
32             <!--解决控制台中文乱码使得执行时输出utf-8格式-->
33             <xmlfileset dir="${base.dir}/src" includes="${testng.file}" />
34             <!--在指定路径下,找文件名由testng.file-->
35             <sysproperty key="org.uncommons.reportng.title" value="自动化测试报告" />
36             <!--设置报告Title名称 -->
37         </testng>
38         <!--定义的testng.xml文件-->
39     </target>
40     <path id="test.classpath">
41         <fileset dir="${lib.dir}" includes="*.jar" />
42     </path>
43 </project>

右键ant执行结束后,出现无报错的情况则测试通过

当在eclipse中调试好代码后,后面运行我们就可以直接使用命令行的方式运行该工程而无需在打开eclipse运行该代码,然后从test-output中查看用例执行结果就行了。

此时可用xshell直接连接该linux服务器,进入该工程目录,执行ant命令即可

如果想看具体的报告,则可以给所在linux服务器搭建一个apache服务器,路径指向你的工程路径的test-output结果文件夹下的html文件夹,我的是:
/home/autotest/auto-software/02-eclipse/workspace/auto-crmscript/test-output/html
这样就可以直接在本地用浏览器打开该linux服务器上用例执行结果:如下

至于linux上如何搭建apache并修改默认目录,使其指向自定义目录,可参考我的另一篇博文:linux搭建apache,并修改默认路径,地址为:http://www.cnblogs.com/miaomiaokaixin/p/5706377.html。

转载于:https://www.cnblogs.com/miaomiaokaixin/p/5626286.html

linux搭建phantomjs+webdriver+testng+ant自动化工程相关推荐

  1. 也谈自动化平台的搭建,另附高大上的名字---无人值守定时巡检系统(selenium+testng+ant+jenkins)...

    最近公司新项目改版,由于没有运维,开发则负责上线任务,并且都是手动上线,并行的项目多了,分支混乱,经常导致B项目上线覆盖A项目,导致系统不定时出现异常,老板知道了便扣了大家的绩效,作为测试这边必须想个 ...

  2. WebDriver·TestNg学习日志(Java/Ruby/.Net版)

    目录 WebDriver(JAVA)拾级而上 WebDriver拾级而上·之零 WebDriver理论 WebDriver拾级而上·之一 环境部署 WebDriver拾级而上·之二 浏览器操作 Web ...

  3. 我的世界php安装,我的世界Linux搭建网页后台Multicraft下载与安装

    小编为大家带来了<我的世界>Linux搭建网页后台Multicraft下载与安装,首先下载Multicraft Linux版,下载好了以后请玩家自己看着下面的教程来安装. 64位:http ...

  4. Linux 搭建SVN 服务器

    一. SVN 简介 Subversion(SVN) 是一个开源的版本控制系統, 也就是说 Subversion 管理着随时间改变的数据. 这些数据放置在一个中央资料档案库 (repository) 中 ...

  5. Linux搭建安卓开发环境

    Linux下搭建Android开发环境 为什么要在Linux搭建开发环境呢?从直观来说,Android虚拟机在Linux下运行速度更快,而且性能更稳定. 我使用的Linux环境是ubuntu-10.1 ...

  6. contos LINUX搭建LAMP笔记

    LINUX搭建LAMP笔记 .YUM:Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器.基于R ...

  7. 乐鑫代理-启明云端分享ESP32系列教程之二:Linux搭建esp-idf环境

    提示:此教程依据乐鑫官方的ESP32入门教程总结而来,仅供个人参考学学习,如有错误,欢迎批评指正.乐鑫官方参考: 乐鑫官方文档地址 1.搭建esp-idf环境 1.1安装虚拟机与Ubuntu 未安装请 ...

  8. 如何给multicraft装PHP,我的世界Linux搭建Multicraft网页后台教程更新和添加服务端文件...

    小编为大家带来了<我的世界>Linux搭建Multicraft网页后台教程更新和添加服务端文件,这个是一个比较重要的教程,当然用不到的玩家可以跳过了. 重新登录 点击"设置&qu ...

  9. 网众linux安装教程,网众Linux搭建Samba教程

    网众Linux搭建Samba教程 [日期:2010-12-20] 来源:Linux社区 作者:Linux [字体:大 中 小] Linux SAMBA server 主配置文件/etc/samba/s ...

最新文章

  1. linux安装R包的安装
  2. matplotlib 多子图的画法 - 设置坐标范围 - 设置坐标的显示间隔 - 设置figure的大标题 - 设置x轴和y轴的名称 - df.groupby
  3. java final 初始化_在Java中,可以从构造函数助手中初始化final字段吗?
  4. django报错500排查方法
  5. springboot启动太慢优化
  6. url中 斜杠如何传输_如何在父子页面中传输数据(layer)
  7. 一次PHP中SQL的Where子句无效问题的解决之旅
  8. 程序员不应该“躺平”
  9. 「AI原生」时代来临?百度智能云提出AI-Native,发布新一代云基础架构「太行」
  10. iOS开发 mac证书无法展开
  11. Eclipse设置中文汉化
  12. 【C++】归并排序-分治(图解+例题)
  13. 基于XMPP协议的即时聊天工具之发送文件
  14. Round 2—算法的复杂度
  15. GIS开发进阶之路(十三) Activator和new的区别、GP工具输入参数问题、写入JObject到json文件、ArcGIS Server REST API、动态规划、贪心算法
  16. 计算机知识与技能比赛活动总结,技能大赛总结优秀范文
  17. 最新公布!“中国开发者大调查”第二批中奖名单出炉啦
  18. 服务网关 Zuul基本使用
  19. LQR控制器——简单实现与仿真
  20. vr测试速度软件,《VRMARK》首款电脑VR性能测试软件上架steam-VR之家

热门文章

  1. net执行oracle的存储过程
  2. 不小心点了计算机一键还原怎么操作,电脑一键还原在哪里?电脑怎样一键还原系统...
  3. latex转为html效果好吗,latex2html
  4. python123第六周作业,马哥2016全新Linux+Python高端运维班第六周作业
  5. tiptop 编译运行_ERP(tiptop linux下主要命令)
  6. 系统学习NLP(二十二)--主题模型LDA
  7. P.Laguna/AUTOMATIC DETECTION OF WAVE BOUNDARIES IN MULTILEAD ECG SIGNALS VALIDATION WITH THE CSE DB
  8. 嵌入式系统——软件设计
  9. 嵌入式系统——专业英语
  10. Windows10下VB6.0开发——ini文件存储参数信息