Skip to content
项目
群组
代码片段
帮助
当前项目
正在载入...
登录 / 注册
切换导航面板
A
auto-test
项目
项目
详情
活动
周期分析
仓库
仓库
文件
提交
分支
标签
贡献者
图表
比较
统计图
议题
0
议题
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
CI / CD
CI / CD
流水线
作业
日程
统计图
Wiki
Wiki
代码片段
代码片段
成员
成员
折叠边栏
关闭边栏
活动
图像
聊天
创建新问题
作业
提交
问题看板
Open sidebar
黄承天
auto-test
Commits
5e51c5a6
提交
5e51c5a6
authored
3月 27, 2020
作者:
黄承天
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
完成遍历测试执行类与方法
上级
d4989b34
隐藏空白字符变更
内嵌
并排
正在显示
2 个修改的文件
包含
34 行增加
和
40 行删除
+34
-40
SeleniumExecutor.java
...java/com/zjty/autotest/service/impl/SeleniumExecutor.java
+13
-3
AutotestApplicationTests.java
...test/java/com/zjty/autotest/AutotestApplicationTests.java
+21
-37
没有找到文件。
src/main/java/com/zjty/autotest/service/impl/SeleniumExecutor.java
浏览文件 @
5e51c5a6
...
...
@@ -87,7 +87,9 @@ public class SeleniumExecutor {
driver
.
switchTo
().
window
(
currentWindow
);
while
(
nonNull
(
currentUrl
))
{
Measure
measure
=
testUrl
(
currentUrl
);
measures
.
add
(
measure
);
if
(
nonNull
(
measure
)){
measures
.
add
(
measure
);
}
currentUrl
=
urlQueue
.
poll
();
}
currentWindow
=
windowQueue
.
poll
();
...
...
@@ -221,8 +223,12 @@ public class SeleniumExecutor {
message
=
"页面超时"
;
success
=
false
;
log
.
error
(
"error:存在可操作范围之外的元素"
);
}
catch
(
WebDriverException
e
)
{
message
=
"无法访问的地址"
;
success
=
false
;
log
.
error
(
"error:无法访问的地址"
);
}
catch
(
Exception
e
)
{
message
=
"出现预料之外的
异常
"
;
message
=
"出现预料之外的
错误
"
;
success
=
false
;
log
.
error
(
"error:"
+
e
);
}
...
...
@@ -262,8 +268,12 @@ public class SeleniumExecutor {
message
=
"页面超时"
;
success
=
false
;
log
.
error
(
"error:存在可操作范围之外的元素"
);
}
catch
(
WebDriverException
e
)
{
message
=
"无法访问的地址"
;
success
=
false
;
log
.
error
(
"error:无法访问的地址"
);
}
catch
(
Exception
e
)
{
message
=
"出现预料之外的
异常
"
;
message
=
"出现预料之外的
错误
"
;
success
=
false
;
log
.
error
(
"error:"
+
e
);
}
...
...
src/test/java/com/zjty/autotest/AutotestApplicationTests.java
浏览文件 @
5e51c5a6
package
com
.
zjty
.
autotest
;
import
com.google.common.collect.Lists
;
import
com.google.common.collect.Maps
;
import
com.zjty.autotest.pojo.report.Measure
;
import
com.zjty.autotest.pojo.report.Report
;
import
com.zjty.autotest.pojo.test.Input
;
...
...
@@ -9,20 +8,14 @@ import com.zjty.autotest.pojo.test.Project;
import
com.zjty.autotest.service.impl.SeleniumExecutor
;
import
com.zjty.autotest.util.WebDriverUtil
;
import
lombok.extern.slf4j.Slf4j
;
import
org.hibernate.boot.jaxb.SourceType
;
import
org.jsoup.Jsoup
;
import
org.jsoup.nodes.Attributes
;
import
org.jsoup.nodes.Document
;
import
org.jsoup.nodes.Element
;
import
org.junit.jupiter.api.Test
;
import
org.openqa.selenium.WebDriver
;
import
org.openqa.selenium.WebElement
;
import
org.openqa.selenium.logging.LogEntry
;
import
org.openqa.selenium.logging.LogType
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.boot.test.context.SpringBootTest
;
import
java.util.*
;
import
java.util.concurrent.TimeUnit
;
import
java.util.stream.Collectors
;
import
java.util.List
;
@Slf4j
@SpringBootTest
...
...
@@ -33,11 +26,27 @@ class AutotestApplicationTests {
@Test
public
void
execute
()
throws
InterruptedException
{
String
url
=
"file:///C:/code/errorTest.html"
;
// String url = "https://bbs.colg.cn/forum-171-1.html";
test1
(
url
);
}
private
void
test1
(
String
url
){
WebDriver
driver
=
WebDriverUtil
.
getWebDriver
(
"firefox"
);
driver
.
get
(
url
);
for
(
String
s
:
driver
.
manage
().
logs
().
getAvailableLogTypes
())
{
System
.
out
.
println
(
s
);
}
}
private
void
test2
(
String
url
)
{
List
<
Input
>
inputs
=
Lists
.
newArrayList
();
inputs
.
add
(
new
Input
(
null
,
null
,
null
,
"caozuoyuan123"
));
inputs
.
add
(
new
Input
(
null
,
null
,
null
,
"caozuoyuan"
));
String
url
=
"http://192.168.1.244:8080/person/#/login"
;
Project
project
=
new
Project
(
null
,
null
,
...
...
@@ -45,37 +54,12 @@ class AutotestApplicationTests {
url
,
inputs
);
// String url2 = "file:///C:/code/wps/index.html";
// WebDriver driver = WebDriverUtil.getWebDriver("firefox");
// driver.manage().timeouts().pageLoadTimeout(4L, TimeUnit.SECONDS);
// driver.get(url);
// Sleeper.SYSTEM_SLEEPER.sleep(Duration.ofSeconds(2));
// String source1 = driver.getPageSource();
// driver.get(url2);
// driver.get(url);
// Sleeper.SYSTEM_SLEEPER.sleep(Duration.ofSeconds(2));
// String source2 = driver.getPageSource();
// System.out.println(Objects.equals(source1,source2));
Report
report
=
seleniumExecutor
.
execute
(
project
);
for
(
Measure
measure
:
report
.
getMeasures
())
{
System
.
out
.
println
(
measure
);
}
// Document document = Jsoup.parse(driver.getPageSource());
// List<Element> elements = document.getAllElements().stream()
// .filter(element -> element.childrenSize() == 0)
// .collect(Collectors.toList());
// for (Element element : elements) {
// System.out.println("==============================================");
// System.out.println(String.format("tag:%s text:%s attrs:%s",element.tagName(),element.text(),element.attributes()));
// }
}
private
Boolean
elementMatch
(
WebElement
webElement
,
Attributes
Attributes
)
{
return
Attributes
.
asList
().
stream
().
allMatch
(
attribute
->
Objects
.
equals
(
attribute
.
getValue
(),
webElement
.
getAttribute
(
attribute
.
getKey
())));
}
}
编写
预览
Markdown
格式
0%
重试
或
添加新文件
添加附件
取消
您添加了
0
人
到此讨论。请谨慎行事。
请先完成此评论的编辑!
取消
请
注册
或者
登录
后发表评论