Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
A
automated-testing
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
黄承天
automated-testing
Commits
5bcb21a8
提交
5bcb21a8
authored
3月 02, 2020
作者:
黄承天
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
数据结构改动:测试步骤的断言改为集合形式 ;并重新定义了断言的数据结构和判断机制。(补充更新)
上级
36e96fdd
隐藏空白字符变更
内嵌
并排
正在显示
4 个修改的文件
包含
98 行增加
和
18 行删除
+98
-18
pom.xml
pom.xml
+1
-1
System.java
...main/java/com/zjty/automatedtesting/pojo/test/System.java
+0
-1
SystemVo.java
...in/java/com/zjty/automatedtesting/pojo/test/SystemVo.java
+3
-3
自动测试-详细设计.md
自动测试-详细设计.md
+94
-13
没有找到文件。
pom.xml
浏览文件 @
5bcb21a8
...
@@ -10,7 +10,7 @@
...
@@ -10,7 +10,7 @@
</parent>
</parent>
<groupId>
com.zjty
</groupId>
<groupId>
com.zjty
</groupId>
<artifactId>
automated-testing
</artifactId>
<artifactId>
automated-testing
</artifactId>
<version>
0.0.
5
-SNAPSHOT
</version>
<version>
0.0.
6
-SNAPSHOT
</version>
<name>
automated-testing
</name>
<name>
automated-testing
</name>
<packaging>
jar
</packaging>
<packaging>
jar
</packaging>
<properties>
<properties>
...
...
src/main/java/com/zjty/automatedtesting/pojo/test/System.java
浏览文件 @
5bcb21a8
package
com
.
zjty
.
automatedtesting
.
pojo
.
test
;
package
com
.
zjty
.
automatedtesting
.
pojo
.
test
;
import
io.swagger.annotations.ApiModel
;
import
lombok.AllArgsConstructor
;
import
lombok.AllArgsConstructor
;
import
lombok.Data
;
import
lombok.Data
;
import
lombok.NoArgsConstructor
;
import
lombok.NoArgsConstructor
;
...
...
src/main/java/com/zjty/automatedtesting/pojo/test/SystemVo.java
浏览文件 @
5bcb21a8
...
@@ -14,13 +14,13 @@ import java.util.List;
...
@@ -14,13 +14,13 @@ import java.util.List;
@ApiModel
(
value
=
"测试系统"
)
@ApiModel
(
value
=
"测试系统"
)
public
class
SystemVo
{
public
class
SystemVo
{
@ApiModelProperty
(
value
=
"主键id 也是系统编码"
,
example
=
"40285a81"
)
@ApiModelProperty
(
value
=
"主键id 也是系统编码"
,
example
=
"40285a81"
,
position
=
1
)
private
String
id
;
private
String
id
;
@ApiModelProperty
(
value
=
"系统名"
,
example
=
"A系统"
)
@ApiModelProperty
(
value
=
"系统名"
,
example
=
"A系统"
,
position
=
2
)
private
String
name
;
private
String
name
;
@ApiModelProperty
(
value
=
"测试用例"
)
@ApiModelProperty
(
value
=
"测试用例"
,
position
=
3
)
private
List
<
CaseVo
>
cases
;
private
List
<
CaseVo
>
cases
;
}
}
自动测试-详细设计.md
浏览文件 @
5bcb21a8
...
@@ -154,17 +154,12 @@ Selenium测试直接运行在浏览器中,就像真正的用户在操作一样
...
@@ -154,17 +154,12 @@ Selenium测试直接运行在浏览器中,就像真正的用户在操作一样
##### 驱动程序下载地址
##### 驱动程序下载地址
**Chrome**
Firefox浏览器驱动:
[
geckodriver
](
https://github.com/mozilla/geckodriver/releases
)
Chrome浏览器驱动:
[
chromedriver
](
https://sites.google.com/a/chromium.org/chromedriver/home
)
[
taobao备用地址
]
(https://npm.taobao.org/mirrors/chromedriver)
chromedriver:
[
点此打开
](
http://chromedriver.storage.googleapis.com/index.html
)
IE浏览器驱动:
[
IEDriverServer
](
http://selenium-release.storage.googleapis.com/index.html
)
Edge浏览器驱动:
[
MicrosoftWebDriver
](
https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/
)
**FireFox**
Opera浏览器驱动:
[
operadriver
](
https://github.com/operasoftware/operachromiumdriver/releases
)
PhantomJS浏览器驱动:
[
phantomjs
](
http://phantomjs.org/
)
geckodriver:
[
点此打开
](
https://github.com/mozilla/geckodriver/releases
)
**IE**
iedriverserver:
[
点此打开
](
http://selenium-release.storage.googleapis.com/index.html
)
##### 驱动程序与浏览器版本关系
##### 驱动程序与浏览器版本关系
...
@@ -207,9 +202,94 @@ has changed to Firefox ≥60.
...
@@ -207,9 +202,94 @@ has changed to Firefox ≥60.
IE浏览器的版本对应这个并没有找到具体所对应的版本,
**一般用2.5版本**
比较好一些(ie11)。
IE浏览器的版本对应这个并没有找到具体所对应的版本,
**一般用2.5版本**
比较好一些(ie11)。
### 相关接口(暂未更新)
### 元素定位方法
假如我们有一个Web页面,通过前端工具(如,Firebug)查看到一个元素的属性是这样的。
```
html
<html>
<head>
<body
link=
"#0000cc"
>
<a
id=
"result_logo"
href=
"/"
ο
nm
ο
used
ο
wn=
"return c({'fm':'tab','tab':'logo'})"
>
<form
id=
"form"
class=
"fm"
name=
"f"
action=
"/s"
>
<span
class=
"soutu-btn"
></span>
<input
id=
"kw"
class=
"s_ipt"
name=
"wd"
value=
""
maxlength=
"255"
autocomplete=
"off"
>
```
我们的目的是要定位input标签的输入框。
-
通过id定位:
```
java
driver
.
findElement
(
By
.
id
(
"kw"
))
```
-
通过
name
定位:
```
java
driver
.
findElement
(
By
.
name
(
"wd"
))
```
-
通过
class
name
定位:
```
java
driver
.
findElement
(
By
.
className
(
"s_ipt"
))
```
-
通过
tag
name
定位:
```
java
driver
.
findElement
(
By
.
tagName
(
"input"
))
```
-
通过
xpath
定位,
xpath
定位有
N
种写法,这里列几个常用写法:
```
java
driver
.
findElement
(
By
.
xpath
(
"//*[@id='kw']"
))
driver
.
findElement
(
By
.
xpath
(
"//*[@name='wd']"
))
driver
.
findElement
(
By
.
xpath
(
"//input[@class='s_ipt']"
))
driver
.
findElement
(
By
.
xpath
(
"/html/body/form/span/input"
))
driver
.
findElement
(
By
.
xpath
(
"//span[@class='soutu-btn']/input"
))
driver
.
findElement
(
By
.
xpath
(
"//form[@id='form']/span/input"
))
driver
.
findElement
(
By
.
xpath
(
"//input[@id='kw' and @name='wd']"
))
```
-
通过
css
定位,
css
定位有
N
种写法,这里列几个常用写法:
```
java
driver
.
findElement
(
By
.
cssSelector
(
"#kw"
)
driver
.
findElement
(
By
.
cssSelector
(
"[name=wd]"
)
driver
.
findElement
(
By
.
cssSelector
(
".s_ipt"
)
driver
.
findElement
(
By
.
cssSelector
(
"html > body > form > span > input"
)
driver
.
findElement
(
By
.
cssSelector
(
"span.soutu-btn> input#kw"
)
driver
.
findElement
(
By
.
cssSelector
(
"form#form > span > input"
)
```
接下来,我们的页面上有一组文本链接。
```
java
<a
class=
"mnav"
href=
"http://news.baidu.com"
name=
"tj_trnews"
>
新闻
</a>
<a
class=
"mnav"
href=
"http://www.hao123.com"
name=
"tj_trhao123"
>
hao123
</a>
```
- 通过link text定位:
```
java
driver.findElement(By.linkText("新闻")
driver.findElement(By.linkText("hao123")
```
- 通过partialLink text定位:
```
java
driver.findElement(By.partialLinkText("新")
driver.findElement(By.partialLinkText("hao")
driver.findElement(By.partialLinkText("123")
```
关于xpaht和css的定位比较复杂,请参考:
[
xpath语法
](
http://www.w3school.com.cn/xpath/xpath_syntax.asp
)
、
[
css选择器
](
http://www.w3school.com.cn/cssref/css_selectors.asp
)
###
#
概览
###
相关接口
概览
测试用例:
测试用例:
...
@@ -243,6 +323,7 @@ IE浏览器的版本对应这个并没有找到具体所对应的版本,**一
...
@@ -243,6 +323,7 @@ IE浏览器的版本对应这个并没有找到具体所对应的版本,**一
-
2020.2.24:测试用例执行结束后自动关闭浏览器。增加接口根据测试用例的id查询其所属的测试报告。预期属性改变为可选项,若没有预期属性则会低限度的以是否出现异常来判断步骤是否成功。
-
2020.2.24:测试用例执行结束后自动关闭浏览器。增加接口根据测试用例的id查询其所属的测试报告。预期属性改变为可选项,若没有预期属性则会低限度的以是否出现异常来判断步骤是否成功。
-
2020.2.25:修复Chrome驱动无法运行的问题。判断预期结果前和每个步骤执行后会等待2秒以保证结果更精准。
-
2020.2.25:修复Chrome驱动无法运行的问题。判断预期结果前和每个步骤执行后会等待2秒以保证结果更精准。
-
2020.2.28:完成测试系统这一块相关功能接口:增加测试系统的新增和查询接口;增加根据测试系统id查询测试用例的接口;增加根据测试系统id批量执行其所有测试用例的接口。
-
2020.2.28:完成测试系统这一块相关功能接口:增加测试系统的新增和查询接口;增加根据测试系统id查询测试用例的接口;增加根据测试系统id批量执行其所有测试用例的接口。
-
2020.3.2:数据结构改动:测试步骤的断言改为集合形式 ;并重新定义了断言的数据结构和判断机制。
### 遗留问题
### 遗留问题
...
...
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论