Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
K
Kivii.Test.WebDriver
Project
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
示例代码
Kivii.Test.WebDriver
Commits
367e3f11
Commit
367e3f11
authored
Nov 15, 2023
by
施晓雨
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
更新示例代码
parent
a4846853
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
5 changed files
with
40 additions
and
11 deletions
+40
-11
FrmMain.Designer.cs
FrmMain.Designer.cs
+0
-0
FrmMain.cs
FrmMain.cs
+31
-6
Kivii.Test.WebDriver.csproj
Kivii.Test.WebDriver.csproj
+2
-2
MofcomTest.cs
Tests/MofcomTest.cs
+6
-2
packages.config
packages.config
+1
-1
No files found.
FrmMain.Designer.cs
View file @
367e3f11
This diff is collapsed.
Click to expand it.
FrmMain.cs
View file @
367e3f11
...
...
@@ -49,6 +49,8 @@ namespace Kivii.Test.WebDriver
_manager
.
OnException
+=
manager_OnException
;
_manager
.
OnCurrentWindowChanged
+=
manager_OnWindowChanged
;
_manager
.
OnActionExecuted
+=
manager_OnActionExecuted
;
_manager
.
OnActionException
+=
manager_OnActionException
;
//以下是WebDriver的事件
_manager
.
ElementClicked
+=
EventDriver_ElementClicked
;
_manager
.
ElementClicking
+=
EventDriver_ElementClicking
;
...
...
@@ -69,6 +71,16 @@ namespace Kivii.Test.WebDriver
_manager
.
ScriptExecuting
+=
EventDriver_ScriptExecuting
;
}
private
void
manager_OnActionException
(
Window
sender
,
Exception
e
)
{
appendMsg
(
$"动作执行异常:
{
DateTime
.
Now
}{
Environment
.
NewLine
}{
e
.
Message
}{
Environment
.
NewLine
}{
e
.
StackTrace
}
"
);
}
private
void
manager_OnActionExecuted
(
Window
sender
,
string
e
)
{
appendMsg
(
$"动作执行成功:
{
DateTime
.
Now
}{
Environment
.
NewLine
}{
e
}
"
);
}
private
void
manager_OnWindowChanged
(
object
sender
,
Window
e
)
{
lblCurrenWindow
.
Text
=
$"当前窗口:
{(
_manager
?.
StartWindow
==
_manager
.
CurrentWindow
?
"主窗口"
:
"子窗口"
)}{
Environment
.
NewLine
}{
e
.
Handle
}{
Environment
.
NewLine
}
标题:
{
e
.
Title
}
"
;
...
...
@@ -235,7 +247,12 @@ namespace Kivii.Test.WebDriver
if
(
_manager
!=
null
)
return
;
rtbMsg
.
Clear
();
_manager
=
new
Manager
();
_manager
.
HideCommandPromptWindow
=
cbxHidenLocalCommandWindow
.
Checked
;
//如果是本地运行,可选择隐藏本地服务的命令行
if
(
cbBrowserUndetected
.
Checked
)
_manager
.
Options
|=
BrowserOption
.
Undetected
;
//不显示浏览器
if
(
cbBrowserHeadless
.
Checked
)
_manager
.
Options
|=
BrowserOption
.
Headless
;
//不显示浏览器
if
(
cbBrowserImageless
.
Checked
)
_manager
.
Options
|=
BrowserOption
.
Imageless
;
//不显示浏览器
if
(
cbBrowserCssless
.
Checked
)
_manager
.
Options
|=
BrowserOption
.
Cssless
;
//不显示浏览器
_manager
.
HideLocalService
=
cbxHidenLocalCommandWindow
.
Checked
;
//如果是本地运行,可选择隐藏本地服务的命令行
addListener
();
//管理器的2个事件是直接可以监听的,WebDriver的事件是需要等初始化完才能监听的
var
serviceUrl
=
string
.
Empty
;
if
(
cbxRemote
.
Checked
)
...
...
@@ -446,11 +463,19 @@ namespace Kivii.Test.WebDriver
var
json
=
autoPage
.
ExportActions
(
true
);
rtbActionsJson
.
Text
=
json
;
}
/// <summary>
/// 导入JSON文件
/// </summary>
/// <param name="sender"></param>
/// <param name="e"></param>
private
void
btnImportActions_Click
(
object
sender
,
EventArgs
e
)
{
var
ofd
=
new
OpenFileDialog
();
ofd
.
Filter
=
"脚本文件|*.json"
;
if
(
ofd
.
ShowDialog
()
!=
DialogResult
.
OK
)
return
;
var
json
=
System
.
IO
.
File
.
ReadAllText
(
ofd
.
FileName
);
rtbActionsJson
.
Text
=
json
;
}
#
endregion
}
}
Kivii.Test.WebDriver.csproj
View file @
367e3f11
...
...
@@ -35,8 +35,8 @@
<WarningLevel>
4
</WarningLevel>
</PropertyGroup>
<ItemGroup>
<Reference
Include=
"Kivii.WebDriver.V4.7, Version=4.15.2023.110
5
0, Culture=neutral, processorArchitecture=MSIL"
>
<HintPath>
packages\Kivii.WebDriver.4.15.2023.110
5
0\lib\net47\Kivii.WebDriver.V4.7.dll
</HintPath>
<Reference
Include=
"Kivii.WebDriver.V4.7, Version=4.15.2023.110
6
0, Culture=neutral, processorArchitecture=MSIL"
>
<HintPath>
packages\Kivii.WebDriver.4.15.2023.110
6
0\lib\net47\Kivii.WebDriver.V4.7.dll
</HintPath>
</Reference>
<Reference
Include=
"Newtonsoft.Json, Version=13.0.0.0, Culture=neutral, PublicKeyToken=30ad4fe6b2a6aeed, processorArchitecture=MSIL"
>
<HintPath>
packages\Newtonsoft.Json.13.0.1\lib\net45\Newtonsoft.Json.dll
</HintPath>
...
...
Tests/MofcomTest.cs
View file @
367e3f11
...
...
@@ -26,6 +26,7 @@ namespace Kivii.Test.WebDriver.Tests
#
region
暂停
2
秒
{
var
action
=
new
SleepAction
();
action
.
Name
=
"暂停2秒"
;
action
.
PauseMilliseconds
=
2000
;
rtns
.
Actions
.
Add
(
action
);
}
...
...
@@ -34,6 +35,7 @@ namespace Kivii.Test.WebDriver.Tests
#
region
移动鼠标至第
1
个元素上点击
{
var
action
=
new
ClickAction
();
action
.
Name
=
"移至第一个标签"
;
action
.
Target
=
new
ElementFinder
(
"//*[@id=\"zhtbomrasff\"]"
);
rtns
.
Actions
.
Add
(
action
);
}
...
...
@@ -42,7 +44,7 @@ namespace Kivii.Test.WebDriver.Tests
#
region
暂停
2
秒
{
var
action
=
new
SleepAction
();
action
.
Name
=
"
准备
抓取网页"
;
action
.
Name
=
"
等待
抓取网页"
;
action
.
PauseMilliseconds
=
2000
;
rtns
.
Actions
.
Add
(
action
);
}
...
...
@@ -51,6 +53,7 @@ namespace Kivii.Test.WebDriver.Tests
#
region
抓取内容
{
var
action
=
new
JavascriptAction
();
action
.
Name
=
"执行脚本"
;
action
.
Script
=
"return '抓取当前页内容'"
;
rtns
.
Actions
.
Add
(
action
);
}
...
...
@@ -59,6 +62,7 @@ namespace Kivii.Test.WebDriver.Tests
#
region
点击下一页
{
var
action
=
new
ClickAction
();
action
.
Name
=
"点击下一页"
;
action
.
Target
=
new
ElementFinder
()
{
Type
=
ElementFindType
.
LinkText
,
...
...
@@ -72,7 +76,7 @@ namespace Kivii.Test.WebDriver.Tests
{
var
action
=
new
LoopAction
();
action
.
LoopTimes
=
10
;
action
.
FromName
=
"
准备
抓取网页"
;
action
.
FromName
=
"
等待
抓取网页"
;
rtns
.
Actions
.
Add
(
action
);
}
#
endregion
...
...
packages.config
View file @
367e3f11
<?
xml
version
=
"1.0"
encoding
=
"utf-8"
?>
<
packages
>
<
package
id
=
"Kivii.WebDriver"
version
=
"4.15.2023.110
5
0"
targetFramework
=
"net472"
/>
<
package
id
=
"Kivii.WebDriver"
version
=
"4.15.2023.110
6
0"
targetFramework
=
"net472"
/>
<
package
id
=
"Newtonsoft.Json"
version
=
"13.0.1"
targetFramework
=
"net472"
/>
<
package
id
=
"Selenium.Support"
version
=
"4.15.0"
targetFramework
=
"net472"
/>
<
package
id
=
"Selenium.WebDriver"
version
=
"4.15.0"
targetFramework
=
"net472"
/>
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment