小编Doc*_*Who的帖子

Cypress:如何访问不同来源的url?

我是柏树新手,遇到了一个问题。我将基本 URL 设置为我想要测试的域,问题是当我想测试登录基本 URL 站点的能力时,我需要验证另一个站点上的用户,一旦我在站点 2 上单击“应用”,我的基本网址上的页面会重新加载,然后我就可以测试网站的其余部分。

当我尝试从测试中访问站点 2 时,出现错误

cy.visit() 失败,因为您正在尝试访问不同来源的 URL。

新 URL 被视为不同的来源,因为 URL 的以下部分不同:

超级域

您只能在单个测试中使用 cy.visit() 同源 URL。

我读了这个https://docs.cypress.io/guides/guides/web-security.html#Set-chromeWebSecurity-to-false我尝试"chromeWebSecurity": false在 cypress.json 中进行设置,但我仍然遇到同样的问题(我在 Chrome 中运行)

我有什么遗漏的吗?

automation google-chrome chromium cypress

10
推荐指数
2
解决办法
3万
查看次数

Gitlab CI:如果未设置变量,管道就会失败?

如果用户触发管道并且没有设置使用options值调用的变量,是否有办法使我的整个管道失败?

我尝试过诸如 only 和规则之类的东西,但它们只是跳过作业而不是让所有作业失败。

gitlab gitlab-ci gitlab-ci-runner

8
推荐指数
1
解决办法
9944
查看次数

是否可以让 gitlab CI 触发另一个管道?

我是 gitlab CI 的新手,所以我仍在尝试解决它,但我想知道是否可以执行以下操作?

开发人员在 REPO A 中工作

REPO B 中的 QA 工作

当来自 REPO A 的管道启动时,是否可以使用命令触发来自 REPO B 的管道并传递变量?

这样,REPO A 中的开发人员可以在他们的项目部分工作,例如登录表单,但 REPO B 可以包含所有功能的整个端到端测试套件,因此如果一个新团队成立并在 REPO C 上工作,他们也可以触发REPO B 中的测试。

这意味着 QA 总是在一个 repo 中工作,如果另一个 repo 想要进行部署,他们可以调用他们的测试子集,但夜间 REPO B 可以使用不同的浏览器、设备等运行完整的端到端套件。

automation qa gitlab-ci

7
推荐指数
2
解决办法
9319
查看次数

Selenium禁用firefox配置文件中的插件

有人能告诉我如何使用Java为我的客户firefox配置文件禁用插件吗?我发现一些网站显示添加附加组件,但没有关于禁用插件的信息.

我的firefox个人资料:

    FirefoxProfile firefoxProfile = new FirefoxProfile();
    firefoxProfile.setAcceptUntrustedCertificates(true);
    firefoxProfile.setAssumeUntrustedCertificateIssuer(false);
    firefoxProfile.setPreference("browser.download.folderList",2);
    firefoxProfile.setPreference("browser.download.manager.showWhenStarting",false);
    firefoxProfile.setPreference("browser.download.dir",reportFolder);
    firefoxProfile.setPreference("browser.helperApps.neverAsk.saveToDisk","text/csv,application/pdf,application/csv,application/vnd.ms-excel");
    firefoxProfile.setPreference("browser.download.manager.showAlertOnComplete",false);  firefoxProfile.setPreference("browser.download.manager.showAlertOnComplete",false);
    firefoxProfile.setPreference("browser.download.manager.showWhenStartinge",false);
    firefoxProfile.setPreference("browser.download.panel.shown",false);
    firefoxProfile.setPreference("browser.download.useToolkitUI",true);
    firefoxProfile.setPreference("pdfjs.disabled", true);
    firefoxProfile.setPreference("pdfjs.firstRun", false);
driver = new FirefoxDriver(firefoxProfile);
Run Code Online (Sandbox Code Playgroud)

问题是默认情况下启用了一些插件.Adobe acrobat,google update,java,microsoft office,flash,shockwave for director和silverlight.

我需要禁用其中一些,因为它们搞砸了我的测试.

java firefox selenium automation selenium-webdriver

6
推荐指数
1
解决办法
7225
查看次数

Gitlab 规则:即使满足规则,也始终显示手动步骤

我们有一个复杂的 Gitlab 管道,我们将阶段分成不同的文件,并且它们基于分支和源运行。

我正在尝试设置一个要运行的计划作业,该作业将仅运行管道的一部分,为此,我尝试使用规则来忽略我不想通过执行类似操作来运行的所有其他阶段,例如

    - if: $CI_PIPELINE_SOURCE == "schedule"   
          when: never
Run Code Online (Sandbox Code Playgroud)

问题是阶段也有手动规则,所以即使我说跳过如果计划管道仍然要求手动交互:

  rules:
    - if: $CI_COMMIT_BRANCH == "master"
      when: never
    - if: $CI_PIPELINE_SOURCE == "merge_request_event"
      when: never
    - when: manual
    - if: $CI_PIPELINE_SOURCE == "schedule"
      when: never  
Run Code Online (Sandbox Code Playgroud)

当源是“时间表”时,有没有办法可以跳过此阶段,但对于其他场景仍然有手动步骤?

gitlab gitlab-ci

6
推荐指数
1
解决办法
7985
查看次数

当pdfjs.disabled为true并且安装了adobe reader时,Selenium firefox配置文件打开pdf

我正在尝试使用带有Java的Selenium Web驱动程序下载pdf文件.我上次约两周前运行它时效果很好,但现在每次点击pdf链接时都会打开pdf阅读器.

我在测试中创建的我的firefox配置文件没有被更改,它设置了一个下载位置并设置文件,如果它们是pdf或csv则自动下载.csv文件仍然可以正常工作并下载到正确的文件夹.

在我的代码中,我将pdfjs.disabled设置为true,如果我在webdriver firefox实例中打开about:config,我可以看到这是正确设置的.

如果我在另一个firefox实例中将pdfjs.disabled设置为true并手动单击链接,则它可以正常工作.

自从我上次运行测试以来我不确定firefox是否已更新,但我还在我的计算机上安装了adobe reader.

请有人能告诉我它可能会突然停止工作吗?

这是我创建的配置文件以及我调用webdriver的方式.我使用的是最新版本的Firefox 21.0.

FirefoxProfile firefoxProfile = new FirefoxProfile();

// Set profile to accept untrusted certificates
firefoxProfile.setAcceptUntrustedCertificates(true);

//Set profile to not assumet certificate issuer is untrusted
firefoxProfile.setAssumeUntrustedCertificateIssuer(false);

//Set download location and file types
firefoxProfile.setPreference("browser.download.folderList",2);
firefoxProfile.setPreference("browser.download.manager.showWhenStarting",false);
firefoxProfile.setPreference("browser.download.dir",reportFolder);
firefoxProfile.setPreference("browser.helperApps.neverAsk.saveToDisk","text/csv,application/pdf,application/csv,application/vnd.ms-excel");

// Set to false so popup not displayed when download finished.
firefoxProfile.setPreference("browser.download.manager.showAlertOnComplete",false);

firefoxProfile.setPreference("browser.download.manager.showAlertOnComplete",false);
firefoxProfile.setPreference("browser.download.manager.showWhenStartinge",false);
firefoxProfile.setPreference("browser.download.panel.shown",false);
firefoxProfile.setPreference("browser.download.useToolkitUI",true);

// Set this to true to disable the pdf opening
firefoxProfile.setPreference("pdfjs.disabled", true);

driver = new FirefoxDriver(firefoxProfile);
Run Code Online (Sandbox Code Playgroud)

更新:我删除了adobe reader,这又开始了.读者必须在配置文件中设置我需要禁用的内容才能使其与读者一起工作.有人有什么想法吗?

java pdf firefox automation selenium-webdriver

5
推荐指数
1
解决办法
4679
查看次数

除非存在文本,否则赛普拉斯刷新页面?

我正在尝试编写一个测试,但我已经到了需要等待一些文本变得可见的地步。

基本上到目前为止,我已经上传了一个文件,然后导航到另一个页面,这个新页面只显示“正在处理..”,当文件完成检查时,它会显示“成功!”

问题是这个页面并不是每 x 秒调用一次 API 来更新文本,它只是在页面加载时执行一次,所以我想检查页面是否显示“正在处理..”,再次调用 cy.reload() 检查,调用 cy.wait(1000) 重新加载并再次检查等,直到页面显示“成功!”。

我的问题是如何检查文本是否存在而不是断言并且测试失败?

javascript cypress

5
推荐指数
1
解决办法
7751
查看次数

Cypress Docker:在您的系统上找不到 Chrome

我正在尝试在本地 docker 容器中运行我的 Cypress 测试,但在尝试在 Chrome 中运行时仍然遇到问题,我运行的命令是:

docker run -it -v $PWD:/e2e -w /e2e cypress/included:10.3.1 --browser chrome
Run Code Online (Sandbox Code Playgroud)

根据https://github.com/cypress-io/cypress-docker-images/tree/master/included,它应该有chrome、firefox和edge,但我得到:

无法运行,因为您输入了无效的浏览器名称。

浏览器:您的系统上未找到 chrome,或者 Cypress 不支持 chrome。

赛普拉斯支持以下浏览器:

  • 电子
  • 铬合金
  • 铬
  • 铬:金丝雀
  • 边缘
  • 火狐浏览器

您还可以使用自定义浏览器: https ://on.cypress.io/customize-browsers

您的系统上找到的可用浏览器有:

  • 电子

我在本地安装了 Chrome 和 Firefox。我可以使用 Electron 通过 docker 运行测试,但我正在尝试运行需要在 Chrome 上运行的灯塔测试。

难道我做错了什么?我尝试了另外一些 cypress/included v 10 图像,但没有任何运气。如果这有什么区别的话,我正在 Macbook 上运行。

如果我不使用 docker,只打开 Cypress,我就可以在 Chrome 上正常运行。

docker cypress

3
推荐指数
1
解决办法
2873
查看次数

Selenium webdriver Java如何等到链接存在

我有我按一个链接,然后运行一些JS并具有文本"查看报告"页面上生成一个新的链接

如果此链接存在且可单击,我该如何在页面上等待,如果在五分钟内未显示,则如何超时?

我已经看过几次问这个问题并尝试了一些解决方案,但无法工作.

我甚至尝试过等待一分钟的垃圾方式,但有时链接需要更长时间才能显示,因此它会失败.

java automation sleep wait selenium-webdriver

2
推荐指数
1
解决办法
4054
查看次数

正则表达式从字符串中获取数字的第一个实例

我从网页返回以下字符串

Order Number: 1509596 Customer Number: 8
Run Code Online (Sandbox Code Playgroud)

但它也可能

Order ID 1509596 Customer 8
Run Code Online (Sandbox Code Playgroud)

我想使用正则表达式,所以在我的方法中我只返回订单号,我正在做

orderNumber.replaceAll("[^0-9]", "")
Run Code Online (Sandbox Code Playgroud)

但这显然不起作用,因为我的订单号末尾有一个8.有人可以帮我解决订单号码,因为我是垃圾邮件!

字符串总是50个字符,但订单号是动态的,所以我不知道它会有多长,是否可以只返回字符串中的第一个数字?

java regex

2
推荐指数
1
解决办法
1783
查看次数

使用批处理脚本在if语句中设置多个变量

我有一个批处理脚本,当用户输入数字时,我需要在其中设置多个变量。由于某些原因,该国没有定下来。我究竟做错了什么?

set /P CLIENTOPTION=CLIENT:
IF /I '%CLIENTOPTION%'=='1' set CLIENTCHOICE=y set COUNTRY=UK
IF /I '%CLIENTOPTION%'=='2' set CLIENTCHOICE=w set COUNTRY=UK
IF /I '%CLIENTOPTION%'=='3' set CLIENTCHOICE=x set COUNTRY=UK
IF /I '%CLIENTOPTION%'=='4' set CLIENTCHOICE=y set COUNTRY=USA
IF /I '%CLIENTOPTION%'=='5' set CLIENTCHOICE=z set COUNTRY=CANADA
Run Code Online (Sandbox Code Playgroud)

windows cmd if-statement batch-file

2
推荐指数
2
解决办法
7023
查看次数

在java中压缩字符串列表

压缩字符串列表最简单/最快捷的方法是什么:

john,barry,stewart,josh,30,45,23,56
Run Code Online (Sandbox Code Playgroud)

我想要订单

john,30,barry,45,stewart,23,josh,56
Run Code Online (Sandbox Code Playgroud)

我知道这听起来像家庭作业,但实际列表用于一些selenium代码并存储网址和页面上的单选按钮选项,但我认为上面的例子更容易阅读.

java list

1
推荐指数
1
解决办法
138
查看次数