赛普拉斯测试表格

时间:2018-11-13 06:03:31

标签: javascript testing automated-tests cypress

我正在使用赛普拉斯测试表单。我只需要在测试过程中弹出一个窗口即可输入表单中的输入字段之一,因为它应该是唯一的值,并且每次运行测试时它都应该有所不同。为此,如何在赛普拉斯中编写测试脚本?请帮我。谢谢。

2 个答案:

答案 0 :(得分:0)

据我了解,您每次执行测试时只想输入一个唯一值,而不是手动编辑硬编码的值。您可以通过打开其他一些形式(根据情况弹出)来解决此问题。好吧,您应该为此在代码中生成一个UIID。

根据RFC 4122,

UUID(通用唯一IDentifier)也称为GUID(全局唯一IDentifier)是具有一定唯一性保证的标识符。

最简单的方法是导入npm软件包并使用它。为此有很多软件包,您可以搜索以选择一个。其中之一是changejs(还包括许多其他功能。)。看看这个https://chancejs.com/miscellaneous/guid.html

答案 1 :(得分:0)

我认为,您可能有一个表单,每次调用表单时都需要在文本字段中输入unique号。

下面的javascript每次都会向const uniqueValue传递唯一的数字,只需将const value传递给类型字段;

describe('Test for unique value', () => {
    it('Receive unique value always in text input', () => {
     const uniqueValue = (new Date()).getTime() + Math.trunc(365 * Math.random());
     console.log(uniqueValue); 
     cy.wait(2000)
     cy.visit('some_url_here')
     cy.get('#yourtextinput').type(uniqueValue);
    })

另一种方法是分别创建一个javascript函数,并将其分配给 const myUnique = getUniquevalue();在赛普拉斯测试中。在赛普拉斯的type命令中传递此myUnique

function getUniquevalue(){
 const uniqueValue = (new Date()).getTime() + Math.trunc(365 * Math.random());
 return uniqueValue;
}

请参见下面的控制台输出:

enter image description here