问题标签 [browser-testing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
149 浏览

laravel - 如何强制 Laravel Dusk 中的“类型”方法在浏览器中完全输入我的测试数据

我有三个测试数据 [Checking, Shipping, Delivering] 使用循环自动输入。它不会输入第三个,这会导致测试失败。这是代码。

这是我的测试数据的代码

这是我用来自动输入上述三个测试数据的foreach和while循环

请帮忙谢谢!

0 投票
0 回答
293 浏览

testing - Testcafe 每次触发浏览器大约需要 2 分钟。这里有什么解决方法?

我的 Windows 10 PC 中有节点 12.14.0、npm 6.13.4 和 testcafe 1.7.1。

我正在尝试使用命令testcafe chrome test1.js运行基本示例脚本:

每次触发浏览器大约需要 2 分钟。之后测试运行良好。

什么可能导致这种延迟?我也尝试通过 npm 命令运行它并得到相同的结果。

0 投票
0 回答
859 浏览

c# - Selenium:为什么 chromedriver.exe 随机“冻结”,未能通过我的测试?

鉴于:

  • 以下所有内容均在 Windows 10 / Server 2012 R2 上
  • Selenium .Net (C#) 测试(Selenium.WebDriver nuget v3.141.0、.Net Framework v4.8)
  • ChromeDriver 78.0.3904.70
  • Google Chrome 版本 78.0.3904.97(官方版本)(64 位)
  • 测试由 Azure DevOps 服务器自动运行(本地安装)

什么时候:

似乎每隔几个小时随机一次(每几十次测试运行一次)

然后:

ChromeDriver 日志似乎显示它冻结了约 70-90 秒,然后恢复。请参阅下面引用的日志片段。测试端 (C#) 驱动程序类在 ChromeDriver 不活动 60 秒后超时并且测试失败。

这些“冻结”发生在随机时间,在测试套件的随机部分。有时遵循ClickElement命令,有时遵循Navigate命令。

发生冻结的行似乎总是与此类似:

C# 超时异常如下所示:

来自 ChromeDriver 的日志片段:

我该如何进一步调查“冻结”的原因并解决它?

0 投票
0 回答
205 浏览

php - Laravel Dusk 选择 CSS 变量

我正在为我的黑暗主题编写浏览器测试。我正在尝试测试当复选框被选中时,变量var(--bg-color)#3a3c3b. 现在,当我运行这个测试时,即使我在断言值中放了一些随机的东西,它也总是会成功。

0 投票
0 回答
260 浏览

php - Laravel Dusk 获取:“过时的元素引用:元素未附加到页面文档”

昨天,我运行了我的 Laravel Dusk 测试,它们运行良好,今天我运行它们,13 次测试中有 8 次失败,其中大多数带有“陈旧的元素参考”。我对应用程序进行了一些修改,但没有任何东西需要我修改测试。

我已经使用(感谢staudenmeir/dusk-updater)更新了 chrome 驱动程序:

但这让我犯了更多错误。在此之前,我只有 3 个测试失败,现在我有 8 个。

我试过用谷歌搜索这个问题,但似乎没有什么是解决方案。

这是我得到的前 3 个错误:

其他错误与“stale element reference”属于同一类型。

这也是我的ApartmentsTest

任何想法表示赞赏。

0 投票
2 回答
1931 浏览

javascript - cy.wait 的赛普拉斯良好实践

我有以下测试,用 Cypress 编写。我在前端使用带有 SSR 支持的 VueJS。我的应用程序是一个 SPA,我正在测试用户点击菜单。

根据赛普拉斯的最佳实践,我不应该以这种形式使用 cy.wait。但问题是;没有等待,测试将失败。我尝试使用:

  • { timeout: 10000 }作为 cy.get 和 cy.visit 中的参数
  • 添加了类似的东西.should('be.visible');(等待何时可见)
  • 添加路线cy.wait("@abc")

但以上都不适合我。

请提出解决方案。我应该怎么做才能在我的情况下一切正常?

0 投票
1 回答
215 浏览

browser - 有没有办法在浏览器堆栈中连接 iOS 等移动设备中的本地主机?

我尝试通过我的本地 IP 地址连接http://localhost:3000 ,例如http://mylocalipaddress:3000,但本地站点仍然不适用于手机和平板电脑。

有没有办法在浏览器堆栈中连接到手机和平板电脑中的本地主机?

0 投票
2 回答
244 浏览

laravel - Laravel 黄昏与 browserstack 在多个设备和浏览器上运行测试

我正在使用这个 ("browserstack/browserstack-local": "^1.1") 包在 BrowserStack 上运行黄昏测试。现在的要求是在具有不同浏览器的多个不同设备上运行测试。目前,我正在按照这种方法运行测试。

这种方法的缺点是每次我需要在不同的设备/浏览器上运行测试时,我都必须更改 .env 文件中的设备名称和浏览器名称。有什么方法可以在提供的数组上运行测试吗?包含设备和浏览器信息的数组。

0 投票
0 回答
297 浏览

laravel - Laravel Dusk - 复选框未单击

我正在为我的 VueJs/Laravel 应用程序使用 Laravel Dusk 开发一些浏览器测试。我正在尝试“检查”一个复选框,但我遇到了问题。我设法等待它的父元素可见,但是当我检查复选框并断言值以查看它是否为真时,我得到一个错误。

我的测试文件

Vue JS 文件

开关量输入元件

错误信息

[switch-input] 输入的预期值 [1] 不等于实际值 [on]。断言 'on' 与预期的 true 匹配失败。

我也尝试了“取消选中”功能,但我仍然得到与实际值为 ON 相同的错误

0 投票
1 回答
97 浏览

php - Phpunit-Selenium 运行所有的断言函数

我想使用 phpunit-selenium 编写一些浏览器测试,现在这是我的测试类

这是我为添加额外的方法和属性而创建的 testCase 类

现在,当我运行 vendor/bin/phpunit 时,它运行了大约 366 个测试。但它们不是测试,它们是断言类中的方法。例如它运行这个方法

我从该响应中了解到的是,不知何故,它不理解只运行那些具有 @test 注释或具有前缀测试的方法。最后的文件是 phpunit.xml 文件

我感谢任何帮助,谢谢。