问题标签 [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.
laravel - 如何强制 Laravel Dusk 中的“类型”方法在浏览器中完全输入我的测试数据
我有三个测试数据 [Checking, Shipping, Delivering] 使用循环自动输入。它不会输入第三个,这会导致测试失败。这是代码。
这是我的测试数据的代码
这是我用来自动输入上述三个测试数据的foreach和while循环
请帮忙谢谢!
testing - Testcafe 每次触发浏览器大约需要 2 分钟。这里有什么解决方法?
我的 Windows 10 PC 中有节点 12.14.0、npm 6.13.4 和 testcafe 1.7.1。
我正在尝试使用命令testcafe chrome test1.js运行基本示例脚本:
每次触发浏览器大约需要 2 分钟。之后测试运行良好。
什么可能导致这种延迟?我也尝试通过 npm 命令运行它并得到相同的结果。
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 的日志片段:
我该如何进一步调查“冻结”的原因并解决它?
php - Laravel Dusk 选择 CSS 变量
我正在为我的黑暗主题编写浏览器测试。我正在尝试测试当复选框被选中时,变量var(--bg-color)
是#3a3c3b
. 现在,当我运行这个测试时,即使我在断言值中放了一些随机的东西,它也总是会成功。
php - Laravel Dusk 获取:“过时的元素引用:元素未附加到页面文档”
昨天,我运行了我的 Laravel Dusk 测试,它们运行良好,今天我运行它们,13 次测试中有 8 次失败,其中大多数带有“陈旧的元素参考”。我对应用程序进行了一些修改,但没有任何东西需要我修改测试。
我已经使用(感谢staudenmeir/dusk-updater
)更新了 chrome 驱动程序:
但这让我犯了更多错误。在此之前,我只有 3 个测试失败,现在我有 8 个。
我试过用谷歌搜索这个问题,但似乎没有什么是解决方案。
这是我得到的前 3 个错误:
其他错误与“stale element reference”属于同一类型。
这也是我的ApartmentsTest
:
任何想法表示赞赏。
javascript - cy.wait 的赛普拉斯良好实践
我有以下测试,用 Cypress 编写。我在前端使用带有 SSR 支持的 VueJS。我的应用程序是一个 SPA,我正在测试用户点击菜单。
根据赛普拉斯的最佳实践,我不应该以这种形式使用 cy.wait。但问题是;没有等待,测试将失败。我尝试使用:
{ timeout: 10000 }
作为 cy.get 和 cy.visit 中的参数- 添加了类似的东西
.should('be.visible');
(等待何时可见) - 添加路线
cy.wait("@abc")
但以上都不适合我。
请提出解决方案。我应该怎么做才能在我的情况下一切正常?
browser - 有没有办法在浏览器堆栈中连接 iOS 等移动设备中的本地主机?
我尝试通过我的本地 IP 地址连接http://localhost:3000 ,例如http://mylocalipaddress:3000,但本地站点仍然不适用于手机和平板电脑。
有没有办法在浏览器堆栈中连接到手机和平板电脑中的本地主机?
laravel - Laravel 黄昏与 browserstack 在多个设备和浏览器上运行测试
我正在使用这个 ("browserstack/browserstack-local": "^1.1") 包在 BrowserStack 上运行黄昏测试。现在的要求是在具有不同浏览器的多个不同设备上运行测试。目前,我正在按照这种方法运行测试。
这种方法的缺点是每次我需要在不同的设备/浏览器上运行测试时,我都必须更改 .env 文件中的设备名称和浏览器名称。有什么方法可以在提供的数组上运行测试吗?包含设备和浏览器信息的数组。
laravel - Laravel Dusk - 复选框未单击
我正在为我的 VueJs/Laravel 应用程序使用 Laravel Dusk 开发一些浏览器测试。我正在尝试“检查”一个复选框,但我遇到了问题。我设法等待它的父元素可见,但是当我检查复选框并断言值以查看它是否为真时,我得到一个错误。
我的测试文件
Vue JS 文件
开关量输入元件
错误信息
[switch-input] 输入的预期值 [1] 不等于实际值 [on]。断言 'on' 与预期的 true 匹配失败。
我也尝试了“取消选中”功能,但我仍然得到与实际值为 ON 相同的错误
php - Phpunit-Selenium 运行所有的断言函数
我想使用 phpunit-selenium 编写一些浏览器测试,现在这是我的测试类
这是我为添加额外的方法和属性而创建的 testCase 类
现在,当我运行 vendor/bin/phpunit 时,它运行了大约 366 个测试。但它们不是测试,它们是断言类中的方法。例如它运行这个方法
我从该响应中了解到的是,不知何故,它不理解只运行那些具有 @test 注释或具有前缀测试的方法。最后的文件是 phpunit.xml 文件
我感谢任何帮助,谢谢。