我正在针对包含多种表单的网站开发/运行 Nightwatch 测试。某些表格包含日期(mm/yyyy 格式),因此在测试开始时,我按如下方式创建日期:
const HOSPITAL_DATE = moment().subtract(32, 'months').format('MM/YYYY');
当我需要日期(以该格式)时,我会在网站的任何地方使用该变量:
browser.setValue("//input[@id='sleepApnea-dateOfDiagnosis']", HOSPITAL_DATE);
请注意,我在此测试中使用了 HOSPITAL_DATE 181 次......以完全相同的方式。问题是,随机地,日期数字被调换了!我应该说很多时候测试运行得很好,但大约有 20% 的时间出现问题。这会导致日期验证失败并且测试停止。这只发生在 Chrome 上......在 Firefox 上它永远不会发生!我正在使用 v89 chromedriver 运行 Chrome v90(我已在本地将 chromedriver 更新为 v90,但没有解决问题)。
当我今天(2021 年 6 月 9 日)运行测试时,HOSPITAL_DATE 是:10/2018,当数字转置时,我看到:10/2801
我尝试过的:首先单击每个日期字段,然后单击 setValue(),但这没有帮助。我什至将日期字符串硬编码如下:
const HOSPITAL_DATE = '10/2018';
再次,无济于事。在 package-lock.json 我有以下一行:
@vue/cli-plugin-e2e-nightwatch": "4.5.12"