第一个测试案例

第一个测试案例


本章讲述如何用qing-automation框架去写测试案例, 首先进入下载页https://git.oschina.net/xhyspring/qing-automation, 点击 下载zip 这个按钮。代码下载完成后,解压zip包。

下载地址[+]查看原图

接下来就是准备启动项目,在启动项目之前,确保你电脑已经安装JDK7和Ant。

  1. JDK7安装,下载JDK7 点击安装 一路点“Next”,当JDK安装完毕后,下面就是设置环境变量了。

    a. 用鼠标右击“我的电脑” -> 属性 -> 高级 -> 环境变量。
    enter image description here

    b. 系统变量->新建->变量名:JAVA_HOME 变量值:C:\Program Files (x86)\Java\jdk1.7.0_01(这只是我的JDK安装路径)

    c. 系统变量 -> 编辑 -> 变量名: Path 在变量值的最前面加上: .;%JAVA_HOME%\bin; (若已经有 Path 项,无须另外新建,直接在后面加,但需用英文公号 ; 与前面已有的项分隔开。)

enter image description here

  1. ANT安装,从此地址下载Anthttp://ant.apache.org/bindownload.cgi 点击下图所示区域下载。

    enter image description here

    下载成功后解压压缩包, 接下来还是设置环境变量。

    a. 用鼠标右击“我的电脑” -> 属性 -> 高级 -> 环境变量。

    b. 系统变量->新建->变量名:ANT_HOME 变量值:D:\apache-ant-1.9.2-bin\apache-ant-1.9.2(这只是我的Ant解压后所在路径)

    c. 系统变量 -> 编辑 -> 变量名: Path 在变量值的最前面加上:.;%ANT_HOME%\bin;

当环境变量配置好以后,打开CMD,运行Java -version 和 ant -version两个命令,如果出现下面所示结果,那就是JDK和Ant都安装成功了。
enter image description here

下面在cmd把路径切换到项目所在的文件夹。如我项目所在文件夹是D:\fitnesse\git\qing-automation 那在CMD里就是运行“cd D:\fitnesse\git\qing-automation” 接着回车,接着运行ant run命令。
enter image description here

当下面信息被展示出来后,项目已经启动成功了。 enter image description here

打开浏览器,地址栏里输入http://localhost:8001

项目的主界面终于揭开神秘的面纱展现在我们面前了。
enter image description here[+]查看原图

点击Demo Suite,进入Demo的这个Suite页面,可以看到里面有两个子目录,Set Up 和 Verify Baidu。

enter image description here[+]查看原图

打开Set Up,可以看到里面是一个这样的表格。这里面显示的是导入后台Java代码的包路径。

import
com.junqing.qa.selenium
com.junqing.qa.selenium.xebium
fitnesse.fixtures

我们打开Verify Baidu,第一个Test Case 就展现在我们眼前了。
enter image description here[+]查看原图

运行Test Case

  1. 安装FireFox 26.0版本(http://download.csdn.net/detail/xhyspring/7477967),注意不能安装最新版本,也不能让FireFox自动升级,因为selenium2不支持高版本FireFox。enter image description here

注意下面这项不能勾选,勾选此处会自动升级。 enter image description here

  1. 点击左上角Test 按钮,你就会看到FireFox浏览器会自动弹出来,接着会打开百度页面,接着查询关键字。这就是此框架在自动化运行测试案例。

enter image description here[+]查看原图

0

评论

推荐 0
ant版本:Apache Ant(TM) version 1.9.6 compiled on June 29 2015 
jdk版本:java version "1.7.0_15" Java(TM) SE Runtime Environment (build 1.7.0_15-b03) 
但是在qing-automation下面运行ant run时,报错: 
compile: 
[javac] Compiling 678 source files to G:\qing-automation\classes 
[javac] javac: 无效的目标版本: 1.7 
[javac] 用法: javac <options> <source files> 
[javac] -help 用于列出可能的选项 

BUILD FAILED 
G:\qing-automation\build.xml:121: Compile failed; see the compiler error output 
for details. 

请问是有版本兼容性问题还是其他问题。
加群218497380 我看一下。我的版本和你是一样的。 –   张俊卿  08-04 23:27

推荐 0
请问,在script表格中可进行算数运算吗?例如:乘法 
目前遇到一个问题:需要从页面获取到商品单价price,再根据页面输入的商品数量num,算出商品总额all:all=price*num 
而all需要传入下一个页面。请问这个问题您有好的解决办法吗?
我没有具体查fitnesse自带的代码支不支持。 但是: 第二章开始讲怎么写后台代码,特别是第1 第2 第3 节。 前台可以为 |script|count number| |$all =|multiply one number| 689586945|with two number|12323123| 后台java 代码 public class CountNumber { public int multiplyOneNumberWithTwoNumber(int numberone,int numbertwo) { return numberone*numbertwo; } } –   张俊卿  08-04 17:00
同理,如果求开平方,求阶层,求各种算数运算,都可以在后台用代码实现。 –   张俊卿  08-04 17:03

推荐 0
我安装了最新的jdk和ant,也下载了qing-automation,但是在qing-automation下面运行ant run时,提示: 
Buildfile: build.xml does not exist! 
Build failed
视频:http://edu.51cto.com/course/course_id-3386.html –   张俊卿  07-28 22:02

推荐 0
你好!我安装了最新的jdk和ant,也下载了qing-automation,但是在qing-automation下面运行ant run时,build failed。具体信息请看下面,请问张大侠,是否知道小白错在哪里?谢谢! 
Buildfile: C:\qing\qing-automation\build.xml 

set-version-if-not-manualy-set: 

stamp-version: 
[echo] Stamping fitnesse with version 20150528 

ivy-download: 

ivy-init: 

resolve: 
[ivy:resolve] :: Apache Ivy 2.3.0 - 20130110142753 :: http://ant.apache.org/ivy/ :: 
[ivy:resolve] :: loading settings :: file = C:\qing\qing-automation\ivysettings.xml 
[ivy:resolve] :: resolving dependencies :: org.fitnesse#fitnesse;working@CN11WPBAO-15 
[ivy:resolve] confs: [default, standalone, test, lesscss] 
[ivy:resolve] :: resolution report :: resolve 20578ms :: artifacts dl 0ms 
--------------------------------------------------------------------- 
| | modules || artifacts | 
| conf | number| search|dwnlded|evicted|| number|dwnlded| 
--------------------------------------------------------------------- 
| default | 1 | 0 | 0 | 0 || 0 | 0 | 
| standalone | 5 | 0 | 0 | 0 || 0 | 0 | 
| test | 4 | 0 | 0 | 0 || 0 | 0 | 
| lesscss | 1 | 0 | 0 | 0 || 0 | 0 | 
--------------------------------------------------------------------- 
[ivy:resolve] 
[ivy:resolve] :::: WARNINGS 
[ivy:resolve] module not found: org.apache.ant#ant;1.7.1 
[ivy:resolve] ==== maven2: tried 
[ivy:resolve] http://repo2.maven.org/maven2/org/apache/ant/ant/1.7.1/ant-1.7.1.pom 
[ivy:resolve] -- artifact org.apache.ant#ant;1.7.1!ant.jar: 
[ivy:resolve] http://repo2.maven.org/maven2/org/apache/ant/ant/1.7.1/ant-1.7.1.jar 
[ivy:resolve] module not found: org.htmlparser#htmlparser;2.1 
[ivy:resolve] ==== maven2: tried 
[ivy:resolve] http://repo2.maven.org/maven2/org/htmlparser/htmlparser/2.1/htmlparser-2.1.pom 
[ivy:resolve] -- artifact org.htmlparser#htmlparser;2.1!htmlparser.jar: 
[ivy:resolve] http://repo2.maven.org/maven2/org/htmlparser/htmlparser/2.1/htmlparser-2.1.jar 
[ivy:resolve] module not found: org.apache.velocity#velocity;1.7 
[ivy:resolve] ==== maven2: tried 
[ivy:resolve] http://repo2.maven.org/maven2/org/apache/velocity/velocity/1.7/velocity-1.7.pom 
[ivy:resolve] -- artifact org.apache.velocity#velocity;1.7!velocity.jar: 
[ivy:resolve] http://repo2.maven.org/maven2/org/apache/velocity/velocity/1.7/velocity-1.7.jar 
[ivy:resolve] module not found: org.json#json;20140107 
[ivy:resolve] ==== maven2: tried 
[ivy:resolve] http://repo2.maven.org/maven2/org/json/json/20140107/json-20140107.pom 
[ivy:resolve] -- artifact org.json#json;20140107!json.jar: 
[ivy:resolve] http://repo2.maven.org/maven2/org/json/json/20140107/json-20140107.jar 
[ivy:resolve] module not found: com.googlecode.java-diff-utils#diffutils;1.2.1 
[ivy:resolve] ==== maven2: tried 
[ivy:resolve] http://repo2.maven.org/maven2/com/googlecode/java-diff-utils/diffutils/1.2.1/diffutils-1.2.1.pom 
[ivy:resolve] -- artifact com.googlecode.java-diff-utils#diffutils;1.2.1!diffutils.jar: 
[ivy:resolve] http://repo2.maven.org/maven2/com/googlecode/java-diff-utils/diffutils/1.2.1/diffutils-1.2.1.jar 
[ivy:resolve] module not found: org.eclipse.jgit#org.eclipse.jgit;2.3.1.201302201838-r 
[ivy:resolve] ==== maven2: tried 
[ivy:resolve] http://repo2.maven.org/maven2/org/eclipse/jgit/org.eclipse.jgit/2.3.1.201302201838-r/org.eclipse.jgit-2.3.1.201302201838-r.pom 
[ivy:resolve] -- artifact org.eclipse.jgit#org.eclipse.jgit;2.3.1.201302201838-r!org.eclipse.jgit.jar: 
[ivy:resolve] http://repo2.maven.org/maven2/org/eclipse/jgit/org.eclipse.jgit/2.3.1.201302201838-r/org.eclipse.jgit-2.3.1.201302201838-r.jar 
[ivy:resolve] module not found: org.mockito#mockito-core;1.9.5 
[ivy:resolve] ==== maven2: tried 
[ivy:resolve] http://repo2.maven.org/maven2/org/mockito/mockito-core/1.9.5/mockito-core-1.9.5.pom 
[ivy:resolve] -- artifact org.mockito#mockito-core;1.9.5!mockito-core.jar: 
[ivy:resolve] http://repo2.maven.org/maven2/org/mockito/mockito-core/1.9.5/mockito-core-1.9.5.jar 
[ivy:resolve] module not found: junit#junit-dep;4.11 
[ivy:resolve] ==== maven2: tried 
[ivy:resolve] http://repo2.maven.org/maven2/junit/junit-dep/4.11/junit-dep-4.11.pom 
[ivy:resolve] -- artifact junit#junit-dep;4.11!junit-dep.jar: 
[ivy:resolve] http://repo2.maven.org/maven2/junit/junit-dep/4.11/junit-dep-4.11.jar 
[ivy:resolve] module not found: org.hamcrest#hamcrest-all;1.3 
[ivy:resolve] ==== maven2: tried 
[ivy:resolve] http://repo2.maven.org/maven2/org/hamcrest/hamcrest-all/1.3/hamcrest-all-1.3.pom 
[ivy:resolve] -- artifact org.hamcrest#hamcrest-all;1.3!hamcrest-all.jar: 
[ivy:resolve] http://repo2.maven.org/maven2/org/hamcrest/hamcrest-all/1.3/hamcrest-all-1.3.jar 
[ivy:resolve] module not found: org.mozilla#rhino;1.7R4 
[ivy:resolve] ==== maven2: tried 
[ivy:resolve] http://repo2.maven.org/maven2/org/mozilla/rhino/1.7R4/rhino-1.7R4.pom 
[ivy:resolve] -- artifact org.mozilla#rhino;1.7R4!rhino.jar: 
[ivy:resolve] http://repo2.maven.org/maven2/org/mozilla/rhino/1.7R4/rhino-1.7R4.jar 
[ivy:resolve] :::::::::::::::::::::::::::::::::::::::::::::: 
[ivy:resolve] :: UNRESOLVED DEPENDENCIES :: 
[ivy:resolve] :::::::::::::::::::::::::::::::::::::::::::::: 
[ivy:resolve] :: org.apache.ant#ant;1.7.1: not found 
[ivy:resolve] :: org.htmlparser#htmlparser;2.1: not found 
[ivy:resolve] :: org.apache.velocity#velocity;1.7: not found 
[ivy:resolve] :: org.json#json;20140107: not found 
[ivy:resolve] :: com.googlecode.java-diff-utils#diffutils;1.2.1: not found 
[ivy:resolve] :: org.eclipse.jgit#org.eclipse.jgit;2.3.1.201302201838-r: not found 
[ivy:resolve] :: org.mockito#mockito-core;1.9.5: not found 
[ivy:resolve] :: junit#junit-dep;4.11: not found 
[ivy:resolve] :: org.hamcrest#hamcrest-all;1.3: not found 
[ivy:resolve] :: org.mozilla#rhino;1.7R4: not found 
[ivy:resolve] :::::::::::::::::::::::::::::::::::::::::::::: 
[ivy:resolve] 
[ivy:resolve] 
[ivy:resolve] :: USE VERBOSE OR DEBUG MESSAGE LEVEL FOR MORE DETAILS
要耐心的等待一下哈,在下载jar包呢。第一次是这样的。时间长的话估计会下载10分钟。 –   张俊卿  05-28 17:03
你看下这视频里面做的这一步和你里面出的信息是不是一样的哈。如果一样的那就等下就行了。http://edu.51cto.com/lesson/id-57051.html –   张俊卿  05-28 17:06
唉,今天重新做了系统,C盘我文件夹下有个.ivy2文件夹,里面是fitness第一次启动需要下载的jar包,居然下了整整一天,看着每小时几KB的下载速度,我哭了。为什么在公司就下载很快呢,是不是有vpn. –   张俊卿  07-05 21:11

推荐 0
[java] SEVERE: Error while starting the FitNesse socket service [Bind excep 
tion on port 8001: Address already in use: JVM_Bind] 
[java] java.io.IOException: Bind exception on port 8001: Address already in 
use: JVM_Bind 

亲,你的端口写死了? 怎么处理呀? 运行ant run之后,就出来这个问题了。
改build.xml 里面有个port –   张俊卿  01-17 22:13

推荐 0
你好! 
请问在 IE、google等其它浏览器,怎么实现上面用例。另外同一套 自动化测试脚本,能通用多种浏览器吗? 
谢谢!
你好,此自动化测试案例集成的是xebium,比如如果你想测试IE的话就把start browser|Firefox|改为start browser|IE browse就成了。改chorme的话要多做一点配置,详细信息在这里http://www.shooter-smith.co.uk/setting-up-ie-chrome-and-safari-drivers-to-work-with-xebium/。另外同一套 自动化测试脚本,能通用多种浏览器吗?完全可以的,还不复杂,不过你要知道怎么改后台Java code, http://www.ituring.com.cn/article/115959 这里是说怎么把xebium代码整合到你fitnesse项目里。整合过后就可以改了。比如你要测试案例在同一台机器上执行多种浏览器,或者运用selenium grid的功能要测试案例在不同的机器上启动不同的浏览器,或者不论你测试案例指定了什么浏览器我通通都强制转换为我本机唯一装的那个浏览器,这些都是可以实现的。不过都需要你粗看一遍后台代码(12个类)然后知道改写哪里。 –   张俊卿  2014-11-11 22:54
如果你觉得这xebium12个类太多不好维护的话,看完第二章的话会知道怎么换不同的selenium测试组件,可以把这12个类删掉换成别的,甚至把你公司的自动化框架底层代码给换进去。第二章讲的就是怎么开发组件和替换组件。 –   张俊卿  2014-11-11 23:34
非常谢谢!! –   872328935  2014-11-12 13:43

推荐 0
你好,我安装好了之后运行ant run 能访问这个地址了,但再次run后发现无法访问地址了,这是怎么回事
你好,你是说不能访问http://localhost:8001吗? 你CMD里面有没有什么出错信息提示啊。 –   张俊卿  2014-10-22 14:34
或者哪个周末你有空我用QQ远程登录你电脑上看一下。 –   张俊卿  2014-10-22 15:02
[javac] 位置: 类 RemoteWebDriverSupplier [javac] E:\workspace\qing-automation\src\java\com\junqing\qa\selenium\xebium \RemoteWebDriverSupplier.java:101: 错误: 找不到符号 –   花花酱  2014-10-22 16:13
[javac] public WebDriver get() { [javac] ^ [javac] 符号: 类 WebDriver [javac] 位置: 类 RemoteWebDriverSupplier [javac] E:\workspace\qing-automation\src\java\com\junqing\qa\selenium\xebium \SeleneseScriptFixture.java:26: 错误: 程序包org.slf4j不存在 –   花花酱  2014-10-22 16:14
[javac] E:\workspace\qing-automation\src\java\com\junqing\qa\selenium\xebium \SeleneseScriptFixture.java:29: 错误: 程序包org.openqa.selenium.server不存在 ^ [javac] 注: 某些输入文件使用了未经检查或不安全的操作。 [javac] 注: 有关详细信息, 请使用 -Xlint:unchecked 重新编译。 –   花花酱 2014-10-22 16:14
第一次好的,后来就说包不存在了,怎么会这样呢 –   花花酱  2014-10-22 16:14
我这边把包下下来看下一切正常,你看下你lib 文件夹里有 slf4j-api-1.7.2这个包吗 –   张俊卿  2014-10-23 17:01
你把这个项目再重新下载一下运行下看看。 –   张俊卿  2014-10-23 17:13
花花酱,你项目现在能运行了吗,不能运行的话加我QQ,283530431,我可与远程连接到你电脑去调试。 –   张俊卿  2014-10-25 07:33
您好!请问fitnesse页面命名方式支持中文格式的吗? –   tuling_yang  2014-11-18 15:36
我实地测试了下,不支持中文 –   zhengzhilongcn  2014-11-19 09:49
ok了,查出是端口占用了 –   花花酱  2014-11-26 10:40
您好!请问fitnesse页面命名方式支持中文格式的吗?还真是不支持。不但不支持,英文的也有限制,必须是TestBadui之类的,你命名testBaidu,TestBAdui都报错。 –   张俊卿  2014-11-26 22:51
你好我想问一下为什么我点测试的时候过一会就出这Testing was interrupted and results are incomplete. Test Pages: 0 right, 0 wrong, 0 ignored, 0 exceptions Assertions: 0 right, 0 wrong, 0 ignored, 0 exceptions (216.212 seconds) –   695378293  07-20 09:23
这个原因我也碰到过,路径不要放太深,最好是D:\qing-automation,不要D:\X\X\X\qing-automation –   张俊卿  08-04 23:26

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值