提交 9324c40e 编写于 作者: 雨爱无痕

Add server,proxy test script

上级 873190cd
......@@ -14,8 +14,8 @@ import (
var page playwright.Page
var zentaoVersion = ""
func Login() (err error) {
if _, err = page.Goto("http://127.0.0.1:8081/", playwright.PageGotoOptions{
func Login(url string) (err error) {
if _, err = page.Goto(url, playwright.PageGotoOptions{
WaitUntil: playwright.WaitUntilStateDomcontentloaded}); err != nil {
return
}
......@@ -172,12 +172,111 @@ func createSuite() (err error) {
return
}
func goToLastUnitTestResult() {
func getLastUnitTestResult() (results []map[string]string, err error) {
if _, err = page.Goto("http://127.0.0.1:8081/", playwright.PageGotoOptions{
WaitUntil: playwright.WaitUntilStateDomcontentloaded}); err != nil {
return
}
page.Click(".nav>>li>>text=测试")
iframeName := "app-qa"
iframe := page.Frame(playwright.PageFrameOptions{Name: &iframeName})
results = []map[string]string{}
if iframe != nil {
iframe.Click(".nav>>li>>text=用例")
iframe.Click("#mainMenu>>a>>text=单元测试")
iframe.Click("#taskList>>tr>>nth=1>>td>>nth=1>>a")
iframe.WaitForSelector("#taskList", playwright.PageWaitForSelectorOptions{State: playwright.WaitForSelectorStateDetached})
tds, err := iframe.QuerySelectorAll("table>>tr")
if err != nil {
return results, err
}
for index := 1; index < len(tds); index++ {
titleNth := "2"
statusNth := "5"
if index == 1 {
titleNth = "3"
statusNth = "6"
}
titleSelector, err := iframe.QuerySelector("table>>tr>>nth=" + strconv.Itoa(index) + ">>td>>nth=" + titleNth)
if err != nil || titleSelector == nil {
continue
}
title, err := titleSelector.InnerText()
if err != nil {
continue
}
statusSelector, err := iframe.QuerySelector("table>>tr>>nth=" + strconv.Itoa(index) + ">>td>>nth=" + statusNth)
if err != nil {
continue
}
status, err := statusSelector.InnerText()
if err != nil {
continue
}
results = append(results, map[string]string{
"title": title,
"status": status,
})
}
} else {
page.Hover(".nav>>li>>text=用例")
page.Click(".nav>>li>>text=单元测试")
page.Click("#currentItem")
page.Click("#dropMenu>>a>>text=公司企业网站建设")
page.Click("#taskList>>tr>>nth=1>>td>>nth=1>>a")
page.WaitForSelector("#taskList", playwright.PageWaitForSelectorOptions{State: playwright.WaitForSelectorStateDetached})
tds, err := page.QuerySelectorAll("table>>tr")
if err != nil {
return results, err
}
for index := 1; index < len(tds); index++ {
titleNth := "2"
statusNth := "5"
if index == 1 {
titleNth = "3"
statusNth = "6"
}
titleSelector, err := page.QuerySelector("table>>tr>>nth=" + strconv.Itoa(index) + ">>td>>nth=" + titleNth)
if err != nil || titleSelector == nil {
continue
}
title, err := titleSelector.InnerText()
if err != nil {
continue
}
statusSelector, err := page.QuerySelector("table>>tr>>nth=" + strconv.Itoa(index) + ">>td>>nth=" + statusNth)
if err != nil {
continue
}
status, err := statusSelector.InnerText()
if err != nil {
continue
}
results = append(results, map[string]string{
"title": title,
"status": status,
})
}
}
return results, err
}
func checkUnitTestResult() {
func CheckUnitTestResult() bool {
results, err := getLastUnitTestResult()
if err != nil {
return false
}
titleExist := map[string]bool{}
for _, result := range results {
titleExist[result["title"]] = true
if result["title"] == "loginFail" && result["status"] != "通过" {
return false
}
if result["title"] == "loginSuccess" && result["status"] != "失败" {
return false
}
}
return true && titleExist["loginFail"] == true && titleExist["loginSuccess"] == true
}
func InstallExt(version, codeDir string) error {
......@@ -334,7 +433,7 @@ func InitZentaoData(version string, codeDir string) (err error) {
if err != nil {
return
}
err = Login()
err = Login("http://127.0.0.1:8081")
if err != nil {
return
}
......@@ -355,3 +454,24 @@ func InitZentaoData(version string, codeDir string) (err error) {
pw.Stop()
return
}
func init() {
if page != nil {
return
}
pw, err := playwright.Run()
if err != nil {
return
}
headless := true
var slowMo float64 = 100
runBrowser, err := pw.Chromium.Launch(playwright.BrowserTypeLaunchOptions{Headless: &headless, SlowMo: &slowMo})
if err != nil {
return
}
page, err = runBrowser.NewPage()
if err != nil {
return
}
Login("http://127.0.0.1:8081")
}
......@@ -55,6 +55,11 @@ func CreateInterpreter(t provider.T) {
t.Errorf("The Click interpreter nav fail: %v", err)
t.FailNow()
}
err = page.Click("#proxyTable>>button:has-text('运行环境')")
if err != nil {
t.Errorf("Click open interpreter modal fail: %v", err)
t.FailNow()
}
err = page.Click("text=新建运行环境")
if err != nil {
t.Errorf("The Click create interpreter fail: %v", err)
......@@ -146,6 +151,11 @@ func EditInterpreter(t provider.T) {
t.Errorf("The Click interpreter nav fail: %v", err)
t.FailNow()
}
err = page.Click("#proxyTable>>button:has-text('运行环境')")
if err != nil {
t.Errorf("Click open interpreter modal fail: %v", err)
t.FailNow()
}
locator, err := page.Locator("#settingModal .z-tbody-tr", playwright.PageLocatorOptions{HasText: "Python"})
if err != nil {
t.Errorf("Find python tr fail: %v", err)
......@@ -245,6 +255,11 @@ func DeleteInterpreter(t provider.T) {
t.Errorf("The Click interpreter nav fail: %v", err)
t.FailNow()
}
err = page.Click("#proxyTable>>button:has-text('运行环境')")
if err != nil {
t.Errorf("Click open interpreter modal fail: %v", err)
t.FailNow()
}
locator, err := page.Locator("#settingModal .z-tbody-tr", playwright.PageLocatorOptions{HasText: "Python"})
if err != nil {
t.Errorf("Find python tr fail: %v", err)
......
package main
import (
"testing"
"github.com/ozontech/allure-go/pkg/framework/provider"
"github.com/ozontech/allure-go/pkg/framework/runner"
playwright "github.com/playwright-community/playwright-go"
)
var proxyBrowser playwright.Browser
func CreateProxy(t provider.T) {
t.ID("5465")
t.AddParentSuite("设置界面语言")
pw, err := playwright.Run()
if err != nil {
t.Error(err)
t.FailNow()
}
headless := true
var slowMo float64 = 100
if proxyBrowser == nil || !proxyBrowser.IsConnected() {
proxyBrowser, err = pw.Chromium.Launch(playwright.BrowserTypeLaunchOptions{Headless: &headless, SlowMo: &slowMo})
}
if err != nil {
t.Errorf("Fail to launch the web proxyBrowser: %v", err)
t.FailNow()
}
page, err := proxyBrowser.NewPage()
if err != nil {
t.Errorf("Create the new page fail: %v", err)
t.FailNow()
}
defer func() {
if err = proxyBrowser.Close(); err != nil {
t.Errorf("The workspaceBrowser cannot be closed: %v", err)
t.FailNow()
return
}
if err = pw.Stop(); err != nil {
t.Errorf("The playwright cannot be stopped: %v", err)
t.FailNow()
return
}
}()
if _, err = page.Goto("http://127.0.0.1:8000/", playwright.PageGotoOptions{
WaitUntil: playwright.WaitUntilStateDomcontentloaded}); err != nil {
t.Errorf("The specific URL is missing: %v", err)
t.FailNow()
}
err = page.Click("#navbar>>[title=\"设置\"]")
if err != nil {
t.Errorf("The Click proxy nav fail: %v", err)
t.FailNow()
}
err = page.Click("#serverTable>>button:has-text('新建执行节点')")
if err != nil {
t.Errorf("Click open interpreter modal fail: %v", err)
t.FailNow()
}
locator, err := page.Locator("#proxyFormModal input")
if err != nil {
t.Errorf("Find create proxy input fail: %v", err)
t.FailNow()
}
nameInput, err := locator.Nth(0)
if err != nil {
t.Errorf("Find lang select fail: %v", err)
t.FailNow()
}
err = nameInput.Fill("测试执行节点")
if err != nil {
t.Errorf("Fill name fail: %v", err)
t.FailNow()
}
page.WaitForTimeout(200)
pathSelect, err := locator.Nth(1)
if err != nil {
t.Errorf("Find path input fail: %v", err)
t.FailNow()
}
err = pathSelect.Fill("http://127.0.0.1:8085")
if err != nil {
t.Errorf("Fil path input fail: %v", err)
t.FailNow()
}
err = page.Click("#proxyFormModal>>text=确定")
if err != nil {
t.Errorf("The Click submit form fail: %v", err)
t.FailNow()
}
page.WaitForSelector("#proxyFormModal", playwright.PageWaitForSelectorOptions{State: playwright.WaitForSelectorStateDetached})
page.WaitForTimeout(1000)
locator, err = page.Locator("#proxyTable .z-tbody-td >> :scope:has-text('测试执行节点')")
c, err := locator.Count()
if err != nil || c == 0 {
t.Errorf("Find created proxy fail: %v", err)
t.FailNow()
}
}
func EditProxy(t provider.T) {
t.ID("5465")
t.AddParentSuite("设置界面语言")
pw, err := playwright.Run()
if err != nil {
t.Error(err)
t.FailNow()
}
headless := true
var slowMo float64 = 100
if proxyBrowser == nil || !proxyBrowser.IsConnected() {
proxyBrowser, err = pw.Chromium.Launch(playwright.BrowserTypeLaunchOptions{Headless: &headless, SlowMo: &slowMo})
}
defer proxyBrowser.Close()
defer pw.Stop()
if err != nil {
t.Errorf("Fail to launch the web proxyBrowser: %v", err)
t.FailNow()
}
page, err := proxyBrowser.NewPage()
if err != nil {
t.Errorf("Create the new page fail: %v", err)
t.FailNow()
}
defer func() {
if err = proxyBrowser.Close(); err != nil {
t.Errorf("The workspaceBrowser cannot be closed: %v", err)
t.FailNow()
return
}
if err = pw.Stop(); err != nil {
t.Errorf("The playwright cannot be stopped: %v", err)
t.FailNow()
return
}
}()
if _, err = page.Goto("http://127.0.0.1:8000/", playwright.PageGotoOptions{
WaitUntil: playwright.WaitUntilStateDomcontentloaded}); err != nil {
t.Errorf("The specific URL is missing: %v", err)
t.FailNow()
}
err = page.Click("#navbar>>[title=\"设置\"]")
if err != nil {
t.Errorf("The Click proxy nav fail: %v", err)
t.FailNow()
}
locator, err := page.Locator("#proxyTable", playwright.PageLocatorOptions{HasText: "测试执行节点"})
if err != nil {
t.Errorf("Find 测试执行节点 tr fail: %v", err)
t.FailNow()
}
locator, err = locator.Locator("text=编辑")
if err != nil {
t.Errorf("Find 测试执行节点 edit btn fail: %v", err)
t.FailNow()
}
err = locator.Click()
if err != nil {
t.Errorf("The Click update site fail: %v", err)
t.FailNow()
}
locator, err = page.Locator("#proxyFormModal input")
if err != nil {
t.Errorf("Find create proxy input fail: %v", err)
t.FailNow()
}
nameInput, err := locator.Nth(0)
if err != nil {
t.Errorf("Find name select fail: %v", err)
t.FailNow()
}
err = nameInput.Fill("测试执行节点-update")
if err != nil {
t.Errorf("Fill name input fail: %v", err)
t.FailNow()
}
err = page.Click("#proxyFormModal>>text=确定")
if err != nil {
t.Errorf("The Click submit form fail: %v", err)
t.FailNow()
}
page.WaitForSelector("#proxyFormModal", playwright.PageWaitForSelectorOptions{State: playwright.WaitForSelectorStateDetached})
page.WaitForTimeout(1000)
locator, err = page.Locator("#proxyTable .z-tbody-td >> :scope:has-text('测试执行节点')")
c, err := locator.Count()
if err != nil || c == 0 {
t.Errorf("Find updated proxy fail: %v", err)
t.FailNow()
}
}
func DeleteProxy(t provider.T) {
t.ID("5465")
t.AddParentSuite("设置界面语言")
pw, err := playwright.Run()
if err != nil {
t.Error(err)
t.FailNow()
}
headless := true
var slowMo float64 = 100
if proxyBrowser == nil || !proxyBrowser.IsConnected() {
proxyBrowser, err = pw.Chromium.Launch(playwright.BrowserTypeLaunchOptions{Headless: &headless, SlowMo: &slowMo})
if err != nil {
t.Errorf("Fail to launch the web proxyBrowser: %v", err)
t.FailNow()
}
}
page, err := proxyBrowser.NewPage()
if err != nil {
t.Errorf("Create the new page fail: %v", err)
t.FailNow()
}
defer func() {
if err = proxyBrowser.Close(); err != nil {
t.Errorf("The workspaceBrowser cannot be closed: %v", err)
t.FailNow()
return
}
if err = pw.Stop(); err != nil {
t.Errorf("The playwright cannot be stopped: %v", err)
t.FailNow()
return
}
}()
if _, err = page.Goto("http://127.0.0.1:8000/", playwright.PageGotoOptions{
WaitUntil: playwright.WaitUntilStateDomcontentloaded}); err != nil {
t.Errorf("The specific URL is missing: %v", err)
t.FailNow()
}
err = page.Click("#navbar>>[title=\"设置\"]")
if err != nil {
t.Errorf("The Click proxy nav fail: %v", err)
t.FailNow()
}
locator, err := page.Locator("#proxyTable", playwright.PageLocatorOptions{HasText: "测试执行节点-update"})
if err != nil {
t.Errorf("Find python tr fail: %v", err)
t.FailNow()
}
locator, err = locator.Locator("text=删除")
if err != nil {
t.Errorf("Find 测试执行节点 del btn fail: %v", err)
t.FailNow()
}
err = locator.Click()
if err != nil {
t.Errorf("The Click update site fail: %v", err)
t.FailNow()
}
err = page.Click(":nth-match(.modal-action > button, 1)")
if err != nil {
t.Errorf("The Click submit form fail: %v", err)
t.FailNow()
}
page.WaitForTimeout(1000)
locator, err = page.Locator("#settingModal .z-tbody-tr", playwright.PageLocatorOptions{HasText: "测试执行节点-update"})
c, err := locator.Count()
if err != nil || c > 0 {
t.Errorf("Delete proxy fail: %v", err)
t.FailNow()
}
}
func TestUiProxy(t *testing.T) {
runner.Run(t, "客户端-创建解析器", CreateProxy)
runner.Run(t, "客户端-编辑解析器", EditProxy)
runner.Run(t, "客户端-删除解析器", DeleteProxy)
}
......@@ -7,6 +7,7 @@ import (
"testing"
commonTestHelper "github.com/easysoft/zentaoatf/test/helper/common"
zentaoTestHelper "github.com/easysoft/zentaoatf/test/helper/zentao/ui"
"github.com/ozontech/allure-go/pkg/framework/provider"
"github.com/ozontech/allure-go/pkg/framework/runner"
playwright "github.com/playwright-community/playwright-go"
......@@ -1163,7 +1164,11 @@ func RunUnit(t provider.T) {
t.FailNow()
}
}
isSuccess := zentaoTestHelper.CheckUnitTestResult()
if !isSuccess {
t.Errorf("Exec testng unit fail")
t.FailNow()
}
}
func createWorkspace(t provider.T, workspacePath string, page playwright.Page) {
......@@ -1218,7 +1223,9 @@ func createWorkspace(t provider.T, workspacePath string, page playwright.Page) {
t.Errorf("The Click submit form fail: %v", err)
t.FailNow()
}
locator, err = page.Locator(".tree-node-title", playwright.PageLocatorOptions{HasText: "testng工作目录"})
page.WaitForSelector("#workspaceFormModal", playwright.PageWaitForSelectorOptions{State: playwright.WaitForSelectorStateDetached})
page.WaitForTimeout(1000)
locator, err = page.Locator(".tree-node", playwright.PageLocatorOptions{HasText: "testng工作目录"})
c, err := locator.Count()
if err != nil || c == 0 {
t.Errorf("Find created workspace fail: %v", err)
......@@ -1235,4 +1242,5 @@ func TestUiRun(t *testing.T) {
runner.Run(t, "客户端-执行所有的脚本文件", RunAll)
runner.Run(t, "客户端-右键执行工作目录", RunWorkspace)
runner.Run(t, "客户端-右键执行文件夹", RunDir)
runner.Run(t, "客户端-执行TestNG单元测试", RunUnit)
}
package main
import (
"testing"
"github.com/ozontech/allure-go/pkg/framework/provider"
"github.com/ozontech/allure-go/pkg/framework/runner"
playwright "github.com/playwright-community/playwright-go"
)
var serverBrowser playwright.Browser
func CreateServer(t provider.T) {
t.ID("5465")
t.AddParentSuite("设置界面语言")
pw, err := playwright.Run()
if err != nil {
t.Error(err)
t.FailNow()
}
headless := true
var slowMo float64 = 100
if serverBrowser == nil || !serverBrowser.IsConnected() {
serverBrowser, err = pw.Chromium.Launch(playwright.BrowserTypeLaunchOptions{Headless: &headless, SlowMo: &slowMo})
}
if err != nil {
t.Errorf("Fail to launch the web serverBrowser: %v", err)
t.FailNow()
}
page, err := serverBrowser.NewPage()
if err != nil {
t.Errorf("Create the new page fail: %v", err)
t.FailNow()
}
defer func() {
if err = serverBrowser.Close(); err != nil {
t.Errorf("The workspaceBrowser cannot be closed: %v", err)
t.FailNow()
return
}
if err = pw.Stop(); err != nil {
t.Errorf("The playwright cannot be stopped: %v", err)
t.FailNow()
return
}
}()
if _, err = page.Goto("http://127.0.0.1:8000/", playwright.PageGotoOptions{
WaitUntil: playwright.WaitUntilStateDomcontentloaded}); err != nil {
t.Errorf("The specific URL is missing: %v", err)
t.FailNow()
}
err = page.Click("#navbar>>[title=\"设置\"]")
if err != nil {
t.Errorf("The Click server nav fail: %v", err)
t.FailNow()
}
err = page.Click("text=新建服务器")
if err != nil {
t.Errorf("The Click create server fail: %v", err)
t.FailNow()
}
locator, err := page.Locator("#serverFormModal input")
if err != nil {
t.Errorf("Find create server input fail: %v", err)
t.FailNow()
}
nameInput, err := locator.Nth(0)
if err != nil {
t.Errorf("Find lang select fail: %v", err)
t.FailNow()
}
err = nameInput.Fill("测试服务器")
if err != nil {
t.Errorf("Fill name fail: %v", err)
t.FailNow()
}
page.WaitForTimeout(200)
pathSelect, err := locator.Nth(1)
if err != nil {
t.Errorf("Find path input fail: %v", err)
t.FailNow()
}
err = pathSelect.Fill("http://127.0.0.1:8085")
if err != nil {
t.Errorf("Fil path input fail: %v", err)
t.FailNow()
}
err = page.Click("#serverFormModal>>text=确定")
if err != nil {
t.Errorf("The Click submit form fail: %v", err)
t.FailNow()
}
locator, err = page.Locator("#settingModal .z-tbody-td", playwright.PageLocatorOptions{HasText: "测试服务器"})
c, err := locator.Count()
if err != nil || c == 0 {
t.Errorf("Find created server fail: %v", err)
t.FailNow()
}
}
func EditServer(t provider.T) {
t.ID("5465")
t.AddParentSuite("设置界面语言")
pw, err := playwright.Run()
if err != nil {
t.Error(err)
t.FailNow()
}
headless := true
var slowMo float64 = 100
if serverBrowser == nil || !serverBrowser.IsConnected() {
serverBrowser, err = pw.Chromium.Launch(playwright.BrowserTypeLaunchOptions{Headless: &headless, SlowMo: &slowMo})
}
defer serverBrowser.Close()
defer pw.Stop()
if err != nil {
t.Errorf("Fail to launch the web serverBrowser: %v", err)
t.FailNow()
}
page, err := serverBrowser.NewPage()
if err != nil {
t.Errorf("Create the new page fail: %v", err)
t.FailNow()
}
defer func() {
if err = serverBrowser.Close(); err != nil {
t.Errorf("The workspaceBrowser cannot be closed: %v", err)
t.FailNow()
return
}
if err = pw.Stop(); err != nil {
t.Errorf("The playwright cannot be stopped: %v", err)
t.FailNow()
return
}
}()
if _, err = page.Goto("http://127.0.0.1:8000/", playwright.PageGotoOptions{
WaitUntil: playwright.WaitUntilStateDomcontentloaded}); err != nil {
t.Errorf("The specific URL is missing: %v", err)
t.FailNow()
}
err = page.Click("#navbar>>[title=\"设置\"]")
if err != nil {
t.Errorf("The Click server nav fail: %v", err)
t.FailNow()
}
locator, err := page.Locator("#settingModal .z-tbody-tr", playwright.PageLocatorOptions{HasText: "测试服务器"})
if err != nil {
t.Errorf("Find 测试服务器 tr fail: %v", err)
t.FailNow()
}
locator, err = locator.Locator("text=编辑")
if err != nil {
t.Errorf("Find 测试服务器 edit btn fail: %v", err)
t.FailNow()
}
err = locator.Click()
if err != nil {
t.Errorf("The Click update site fail: %v", err)
t.FailNow()
}
locator, err = page.Locator("#serverFormModal input")
if err != nil {
t.Errorf("Find create server input fail: %v", err)
t.FailNow()
}
nameInput, err := locator.Nth(0)
if err != nil {
t.Errorf("Find name select fail: %v", err)
t.FailNow()
}
err = nameInput.Fill("测试服务器-update")
if err != nil {
t.Errorf("Fill name input fail: %v", err)
t.FailNow()
}
err = page.Click("#serverFormModal>>text=确定")
if err != nil {
t.Errorf("The Click submit form fail: %v", err)
t.FailNow()
}
page.WaitForSelector("#serverFormModal", playwright.PageWaitForSelectorOptions{State: playwright.WaitForSelectorStateDetached})
locator, err = page.Locator("#settingModal .z-tbody-td", playwright.PageLocatorOptions{HasText: "测试服务器-update"})
c, err := locator.Count()
if err != nil || c == 0 {
t.Errorf("Find updated server fail: %v", err)
t.FailNow()
}
}
func DeleteServer(t provider.T) {
t.ID("5465")
t.AddParentSuite("设置界面语言")
pw, err := playwright.Run()
if err != nil {
t.Error(err)
t.FailNow()
}
headless := true
var slowMo float64 = 100
if serverBrowser == nil || !serverBrowser.IsConnected() {
serverBrowser, err = pw.Chromium.Launch(playwright.BrowserTypeLaunchOptions{Headless: &headless, SlowMo: &slowMo})
if err != nil {
t.Errorf("Fail to launch the web serverBrowser: %v", err)
t.FailNow()
}
}
page, err := serverBrowser.NewPage()
if err != nil {
t.Errorf("Create the new page fail: %v", err)
t.FailNow()
}
defer func() {
if err = serverBrowser.Close(); err != nil {
t.Errorf("The workspaceBrowser cannot be closed: %v", err)
t.FailNow()
return
}
if err = pw.Stop(); err != nil {
t.Errorf("The playwright cannot be stopped: %v", err)
t.FailNow()
return
}
}()
if _, err = page.Goto("http://127.0.0.1:8000/", playwright.PageGotoOptions{
WaitUntil: playwright.WaitUntilStateDomcontentloaded}); err != nil {
t.Errorf("The specific URL is missing: %v", err)
t.FailNow()
}
err = page.Click("#navbar>>[title=\"设置\"]")
if err != nil {
t.Errorf("The Click server nav fail: %v", err)
t.FailNow()
}
locator, err := page.Locator("#settingModal .z-tbody-tr", playwright.PageLocatorOptions{HasText: "测试服务器-update"})
if err != nil {
t.Errorf("Find python tr fail: %v", err)
t.FailNow()
}
locator, err = locator.Locator("text=删除")
if err != nil {
t.Errorf("Find 测试服务器 del btn fail: %v", err)
t.FailNow()
}
err = locator.Click()
if err != nil {
t.Errorf("The Click update site fail: %v", err)
t.FailNow()
}
err = page.Click(":nth-match(.modal-action > button, 1)")
if err != nil {
t.Errorf("The Click submit form fail: %v", err)
t.FailNow()
}
page.WaitForTimeout(1000)
locator, err = page.Locator("#settingModal .z-tbody-tr", playwright.PageLocatorOptions{HasText: "测试服务器-update"})
c, err := locator.Count()
if err != nil || c > 0 {
t.Errorf("Delete server fail: %v", err)
t.FailNow()
}
}
func TestUiServer(t *testing.T) {
runner.Run(t, "客户端-创建解析器", CreateServer)
runner.Run(t, "客户端-编辑解析器", EditServer)
runner.Run(t, "客户端-删除解析器", DeleteServer)
}
......@@ -196,6 +196,7 @@ const remove = (item) => {
onOk: async () => {
await removeInterpreter(item.value.id, props.proxyInfo.path);
list();
store.dispatch('proxy/fetchInterpreters', {})
},
});
};
......
<template>
<ZModal
id="proxyFormModal"
:showModal="showModalRef"
@onCancel="cancel"
@onOk="submit"
......
<template>
<div class="space-left">
<div class="space-left flex-align-center">
<div class="title space">{{t('remote_proxy')}}</div>
<Button id="proxyMenuToggle"
:label="currProxy.id == 0 || currProxy.id == undefined ? t('local_proxy') : currProxy.name"
......@@ -59,4 +59,8 @@ const replaceFields = {
<style>
.top-line {border-top: 1px dashed var(--color-green)}
.flex-align-center{
display: flex;
align-items: center;
}
</style>
<template>
<ZModal
id="serverFormModal"
:showModal="showModalRef"
@onCancel="cancel"
@onOk="submit"
......
......@@ -23,6 +23,7 @@
</div>
</div>
<Table
id="interpreterTable"
v-if="interpreters.length > 0"
:columns="columns"
:rows="interpreters"
......@@ -52,6 +53,7 @@
</Button>
</div>
<Table
id="serverTable"
v-if="remoteServers.length > 0"
:columns="remoteServerColumns"
:rows="remoteServers"
......@@ -61,6 +63,7 @@
>
<template #remote_proxy="record">
<Table
id="proxyTable"
v-if="record.value.proxies!= undefined && record.value.proxies.length > 0"
:columns="remoteProxyColumns"
:rows="record.value.proxies"
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册