Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
易企天创
zentaoatf
提交
6396e40e
Z
zentaoatf
项目概览
易企天创
/
zentaoatf
9 个月 前同步成功
通知
11
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
3
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
Z
zentaoatf
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
3
Issue
3
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
前往新版Gitcode,体验更适合开发者的 AI 搜索 >>
提交
6396e40e
编写于
8月 19, 2022
作者:
雨
雨爱无痕
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
add workspace case
上级
6b5f7447
变更
2
展开全部
隐藏空白更改
内联
并排
Showing
2 changed file
with
1333 addition
and
21 deletion
+1333
-21
test/ui_site_test.go
test/ui_site_test.go
+322
-21
test/ui_workspace_test.go
test/ui_workspace_test.go
+1011
-0
未找到文件。
test/ui_site_test.go
浏览文件 @
6396e40e
package
main
import
(
"log"
"testing"
playwright
"github.com/playwright-community/playwright-go"
"github.com/stretchr/testify/suite"
)
type
UiSiteSuit
struct
{
suite
.
Suite
testCount
uint32
func
CreateSite
(
t
*
testing
.
T
)
{
pw
,
err
:=
playwright
.
Run
()
if
err
!=
nil
{
t
.
Error
(
err
)
return
}
headless
:=
true
var
slowMo
float64
=
100
browser
,
err
:=
pw
.
Chromium
.
Launch
(
playwright
.
BrowserTypeLaunchOptions
{
Headless
:
&
headless
,
SlowMo
:
&
slowMo
})
if
err
!=
nil
{
t
.
Errorf
(
"Fail to launch the web browser: %v"
,
err
)
return
}
page
,
err
:=
browser
.
NewPage
()
if
err
!=
nil
{
t
.
Errorf
(
"Create the new page fail: %v"
,
err
)
return
}
if
_
,
err
=
page
.
Goto
(
"http://app.me:8000/"
,
playwright
.
PageGotoOptions
{
WaitUntil
:
playwright
.
WaitUntilStateDomcontentloaded
,
});
err
!=
nil
{
t
.
Errorf
(
"The specific URL is missing: %v"
,
err
)
return
}
// page.WaitForSelector(".tree")
Locator
,
err
:=
page
.
Locator
(
"#siteMenuToggle"
)
if
err
!=
nil
{
t
.
Errorf
(
"The siteMenuToggle is missing: %v"
,
err
)
return
}
err
=
Locator
.
Click
()
if
err
!=
nil
{
t
.
Errorf
(
"The Click is fail: %v"
,
err
)
return
}
_
,
err
=
page
.
WaitForSelector
(
"#navbar .list-item"
)
if
err
!=
nil
{
t
.
Errorf
(
"Wait for site list nav fail: %v"
,
err
)
return
}
err
=
page
.
Click
(
"text=禅道站点管理"
)
if
err
!=
nil
{
t
.
Errorf
(
"The Click site nav fail: %v"
,
err
)
return
}
// page.WaitForSelector(".modal-title")
err
=
page
.
Click
(
"text=新建站点"
)
if
err
!=
nil
{
t
.
Errorf
(
"The Click create site fail: %v"
,
err
)
return
}
Locator
,
err
=
page
.
Locator
(
"#siteFormModal input"
)
if
err
!=
nil
{
t
.
Errorf
(
"Find create site input fail: %v"
,
err
)
return
}
titleInput
,
err
:=
Locator
.
Nth
(
0
)
if
err
!=
nil
{
t
.
Errorf
(
"Find title input fail: %v"
,
err
)
return
}
err
=
titleInput
.
Fill
(
"单元测试站点"
)
if
err
!=
nil
{
t
.
Errorf
(
"Fil title input fail: %v"
,
err
)
return
}
addressInput
,
err
:=
Locator
.
Nth
(
1
)
if
err
!=
nil
{
t
.
Errorf
(
"Find address input fail: %v"
,
err
)
return
}
err
=
addressInput
.
Fill
(
"http://pms.test/"
)
if
err
!=
nil
{
t
.
Errorf
(
"Fil address input fail: %v"
,
err
)
return
}
nameInput
,
err
:=
Locator
.
Nth
(
2
)
if
err
!=
nil
{
t
.
Errorf
(
"Find name input fail: %v"
,
err
)
return
}
err
=
nameInput
.
Fill
(
"admin"
)
if
err
!=
nil
{
t
.
Errorf
(
"Fil name input fail: %v"
,
err
)
return
}
pwdInput
,
err
:=
Locator
.
Nth
(
3
)
if
err
!=
nil
{
t
.
Errorf
(
"Find passwd input fail: %v"
,
err
)
return
}
err
=
pwdInput
.
Fill
(
"123456."
)
if
err
!=
nil
{
t
.
Errorf
(
"Fil passwd input fail: %v"
,
err
)
return
}
err
=
page
.
Click
(
"text=确定"
)
if
err
!=
nil
{
t
.
Errorf
(
"The Click submit form fail: %v"
,
err
)
return
}
page
.
WaitForTimeout
(
1000
)
Locator
,
err
=
page
.
Locator
(
".list-item-content span"
,
playwright
.
PageLocatorOptions
{
HasText
:
"单元测试站点"
})
c
,
err
:=
Locator
.
Count
()
if
err
!=
nil
||
c
==
0
{
t
.
Errorf
(
"Find created site fail: %v"
,
err
)
return
}
if
_
,
err
=
page
.
Screenshot
(
playwright
.
PageScreenshotOptions
{
Path
:
playwright
.
String
(
"site_create.png"
),
});
err
!=
nil
{
t
.
Errorf
(
"screenshot cannot be created: %v"
,
err
)
return
}
// page.WaitForTimeout(1000000)
if
err
=
browser
.
Close
();
err
!=
nil
{
t
.
Errorf
(
"The browser cannot be closed: %v"
,
err
)
return
}
if
err
=
pw
.
Stop
();
err
!=
nil
{
t
.
Errorf
(
"The playwright cannot be stopped: %v"
,
err
)
return
}
}
func
(
s
*
UiSiteSuit
)
TestUiSiteSuite
()
{
runTest
()
func
EditSite
(
t
*
testing
.
T
)
{
// var timeout float64 = 5000
pw
,
err
:=
playwright
.
Run
()
if
err
!=
nil
{
t
.
Error
(
err
)
return
}
headless
:=
true
var
slowMo
float64
=
100
browser
,
err
:=
pw
.
Chromium
.
Launch
(
playwright
.
BrowserTypeLaunchOptions
{
Headless
:
&
headless
,
SlowMo
:
&
slowMo
})
if
err
!=
nil
{
t
.
Errorf
(
"Fail to launch the web browser: %v"
,
err
)
return
}
page
,
err
:=
browser
.
NewPage
()
if
err
!=
nil
{
t
.
Errorf
(
"Create the new page fail: %v"
,
err
)
return
}
if
_
,
err
=
page
.
Goto
(
"http://app.me:8000/"
,
playwright
.
PageGotoOptions
{
WaitUntil
:
playwright
.
WaitUntilStateDomcontentloaded
,
});
err
!=
nil
{
t
.
Errorf
(
"The specific URL is missing: %v"
,
err
)
return
}
// page.WaitForSelector(".tree")
Locator
,
err
:=
page
.
Locator
(
"#siteMenuToggle"
)
if
err
!=
nil
{
t
.
Errorf
(
"The siteMenuToggle is missing: %v"
,
err
)
return
}
err
=
Locator
.
Click
()
if
err
!=
nil
{
t
.
Errorf
(
"The Click is fail: %v"
,
err
)
return
}
_
,
err
=
page
.
WaitForSelector
(
"#navbar .list-item"
)
if
err
!=
nil
{
t
.
Errorf
(
"Wait for site list nav fail: %v"
,
err
)
return
}
err
=
page
.
Click
(
"text=禅道站点管理"
)
if
err
!=
nil
{
t
.
Errorf
(
"The Click site nav fail: %v"
,
err
)
return
}
// page.WaitForSelector(".modal-title")
Locator
,
err
=
page
.
Locator
(
".list-item"
,
playwright
.
PageLocatorOptions
{
HasText
:
"单元测试站点"
})
if
err
!=
nil
{
t
.
Errorf
(
"Find test site fail: %v"
,
err
)
return
}
err
=
page
.
Click
(
"text=编辑"
)
if
err
!=
nil
{
t
.
Errorf
(
"The Click update site fail: %v"
,
err
)
return
}
Locator
,
err
=
page
.
Locator
(
"#siteFormModal input"
)
if
err
!=
nil
{
t
.
Errorf
(
"Find update site input fail: %v"
,
err
)
return
}
titleInput
,
err
:=
Locator
.
Nth
(
0
)
if
err
!=
nil
{
t
.
Errorf
(
"Find title input fail: %v"
,
err
)
return
}
err
=
titleInput
.
Fill
(
"单元测试站点-update"
)
if
err
!=
nil
{
t
.
Errorf
(
"Fil title input fail: %v"
,
err
)
return
}
addressInput
,
err
:=
Locator
.
Nth
(
1
)
if
err
!=
nil
{
t
.
Errorf
(
"Find address input fail: %v"
,
err
)
return
}
err
=
addressInput
.
Fill
(
"http://pms.test/"
)
if
err
!=
nil
{
t
.
Errorf
(
"Fil address input fail: %v"
,
err
)
return
}
nameInput
,
err
:=
Locator
.
Nth
(
2
)
if
err
!=
nil
{
t
.
Errorf
(
"Find name input fail: %v"
,
err
)
return
}
err
=
nameInput
.
Fill
(
"admin"
)
if
err
!=
nil
{
t
.
Errorf
(
"Fil name input fail: %v"
,
err
)
return
}
pwdInput
,
err
:=
Locator
.
Nth
(
3
)
if
err
!=
nil
{
t
.
Errorf
(
"Find passwd input fail: %v"
,
err
)
return
}
err
=
pwdInput
.
Fill
(
"123456."
)
if
err
!=
nil
{
t
.
Errorf
(
"Fil passwd input fail: %v"
,
err
)
return
}
err
=
page
.
Click
(
"#siteFormModal>>.modal-action>>span:has-text(
\"
确定
\"
)"
)
if
err
!=
nil
{
t
.
Errorf
(
"The Click submit form fail: %v"
,
err
)
return
}
page
.
WaitForTimeout
(
1000
)
Locator
,
err
=
page
.
Locator
(
".list-item-content"
,
playwright
.
PageLocatorOptions
{
HasText
:
"单元测试站点-update"
})
c
,
err
:=
Locator
.
Count
()
if
err
!=
nil
||
c
==
0
{
t
.
Errorf
(
"Find update site fail: %v"
,
err
)
return
}
if
_
,
err
=
page
.
Screenshot
(
playwright
.
PageScreenshotOptions
{
Path
:
playwright
.
String
(
"site_update.png"
),
});
err
!=
nil
{
t
.
Errorf
(
"screenshot cannot be created: %v"
,
err
)
return
}
// page.WaitForTimeout(1000000)
if
err
=
browser
.
Close
();
err
!=
nil
{
t
.
Errorf
(
"The browser cannot be closed: %v"
,
err
)
return
}
if
err
=
pw
.
Stop
();
err
!=
nil
{
t
.
Errorf
(
"The playwright cannot be stopped: %v"
,
err
)
return
}
}
func
runTest
(
)
{
func
DeleteSite
(
t
*
testing
.
T
)
{
pw
,
err
:=
playwright
.
Run
()
if
err
!=
nil
{
log
.
Fatalf
(
"could not launch playwright: %v"
,
err
)
t
.
Error
(
err
)
return
}
browser
,
err
:=
pw
.
Chromium
.
Launch
()
headless
:=
true
var
slowMo
float64
=
100
browser
,
err
:=
pw
.
Chromium
.
Launch
(
playwright
.
BrowserTypeLaunchOptions
{
Headless
:
&
headless
,
SlowMo
:
&
slowMo
})
if
err
!=
nil
{
log
.
Fatalf
(
"Fail to launch the web browser: %v"
,
err
)
t
.
Errorf
(
"Fail to launch the web browser: %v"
,
err
)
return
}
page
,
err
:=
browser
.
NewPage
()
if
err
!=
nil
{
log
.
Fatalf
(
"Error to create the new page: %v"
,
err
)
t
.
Errorf
(
"Create the new page fail: %v"
,
err
)
return
}
if
_
,
err
=
page
.
Goto
(
"http
s://ithelp.ithome.com.tw/2020-12th-ironman?utm_source=iThelp&utm_medium=nav&utm_campaign=ironman
"
,
playwright
.
PageGotoOptions
{
WaitUntil
:
playwright
.
WaitUntilState
Networkidle
,
if
_
,
err
=
page
.
Goto
(
"http
://app.me:8000/
"
,
playwright
.
PageGotoOptions
{
WaitUntil
:
playwright
.
WaitUntilState
Domcontentloaded
,
});
err
!=
nil
{
log
.
Fatalf
(
"The specific URL is missing: %v"
,
err
)
t
.
Errorf
(
"The specific URL is missing: %v"
,
err
)
return
}
// page.WaitForSelector(".tree")
Locator
,
err
:=
page
.
Locator
(
"#siteMenuToggle"
)
if
err
!=
nil
{
t
.
Errorf
(
"The siteMenuToggle is missing: %v"
,
err
)
return
}
err
=
Locator
.
Click
()
if
err
!=
nil
{
t
.
Errorf
(
"The Click is fail: %v"
,
err
)
return
}
_
,
err
=
page
.
WaitForSelector
(
"#navbar .list-item"
)
if
err
!=
nil
{
t
.
Errorf
(
"Wait for site list nav fail: %v"
,
err
)
return
}
err
=
page
.
Click
(
"text=禅道站点管理"
)
if
err
!=
nil
{
t
.
Errorf
(
"The Click site nav fail: %v"
,
err
)
return
}
// page.WaitForSelector(".modal-title")
Locator
,
err
=
page
.
Locator
(
".list-item"
,
playwright
.
PageLocatorOptions
{
HasText
:
"单元测试站点"
})
if
err
!=
nil
{
t
.
Errorf
(
"Find test site fail: %v"
,
err
)
return
}
err
=
page
.
Click
(
"text=删除"
)
if
err
!=
nil
{
t
.
Errorf
(
"The Click delete site fail: %v"
,
err
)
return
}
page
.
WaitForTimeout
(
1000
)
err
=
page
.
Click
(
":nth-match(.modal-action > button, 1)"
)
if
err
!=
nil
{
t
.
Errorf
(
"The Click submit form fail: %v"
,
err
)
return
}
page
.
WaitForTimeout
(
1000
)
Locator
,
err
=
page
.
Locator
(
".list-item-content"
,
playwright
.
PageLocatorOptions
{
HasText
:
"单元测试站点"
})
c
,
err
:=
Locator
.
Count
()
if
err
!=
nil
||
c
>
0
{
t
.
Errorf
(
"Delete site fail: %v"
,
err
)
return
}
if
_
,
err
=
page
.
Screenshot
(
playwright
.
PageScreenshotOptions
{
Path
:
playwright
.
String
(
"
ironmenGo2020-web
.png"
),
Path
:
playwright
.
String
(
"
site_delete
.png"
),
});
err
!=
nil
{
log
.
Fatalf
(
"screenshot cannot be created: %v"
,
err
)
t
.
Errorf
(
"screenshot cannot be created: %v"
,
err
)
return
}
// page.WaitForTimeout(1000000)
if
err
=
browser
.
Close
();
err
!=
nil
{
log
.
Fatalf
(
"The browser cannot be closed: %v"
,
err
)
t
.
Errorf
(
"The browser cannot be closed: %v"
,
err
)
return
}
if
err
=
pw
.
Stop
();
err
!=
nil
{
log
.
Fatalf
(
"The playwright cannot be stopped: %v"
,
err
)
t
.
Errorf
(
"The playwright cannot be stopped: %v"
,
err
)
return
}
}
func
TestUiSite
(
t
*
testing
.
T
)
{
suite
.
Run
(
t
,
new
(
UiSiteSuit
))
t
.
Run
(
"CreateSite"
,
CreateSite
)
t
.
Run
(
"EditSite"
,
EditSite
)
t
.
Run
(
"DeleteSite"
,
DeleteSite
)
}
test/ui_workspace_test.go
0 → 100644
浏览文件 @
6396e40e
此差异已折叠。
点击以展开。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录