Javascript 柏树试形

Javascript 柏树试形,javascript,testing,automated-tests,cypress,Javascript,Testing,Automated Tests,Cypress,我正在使用Cypress测试一个表单。我需要在测试过程中弹出一个窗口,只在表单中输入一个输入字段,因为它应该是唯一的值,并且每次运行测试时都应该不同。如何在Cypress中为此编写测试脚本?请帮帮我。谢谢。据我所知,您只希望在每次执行测试时键入一个唯一的值,而不是手动编辑硬编码的值。您可以通过打开一些其他表单(在您的案例中弹出)作为解决方法来实现这一点。那么,您应该在代码中为此生成UIID 根据RFC4122,UUID(通用唯一标识符),也称为GUID(全局唯一标识符),是具有某种唯一性保证的标

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

据我所知,您只希望在每次执行测试时键入一个唯一的值,而不是手动编辑硬编码的值。您可以通过打开一些其他表单(在您的案例中弹出)作为解决方法来实现这一点。那么,您应该在代码中为此生成UIID

根据RFC4122,UUID(通用唯一标识符),也称为GUID(全局唯一标识符),是具有某种唯一性保证的标识符


实现这一点的最简单方法是导入npm包并使用它。这有许多软件包,您可以通过搜索选择一个。其中之一是changejs(还包括许多其他功能)。查看此

我假设,您可能有一个表单,每次调用表单时,您都需要在文本字段中输入一个唯一的号码

下面的javascript每次都向
const uniqueValue
传递一个唯一的数字,只需将该
const value
传递到type字段

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()在cypress测试中。在cypress中的type命令中传递此
myUnique

function getUniquevalue(){
 const uniqueValue = (new Date()).getTime() + Math.trunc(365 * Math.random());
 return uniqueValue;
}
请参见以下控制台输出:


我不太明白你想要实现什么。谁在打开弹出窗口?你到底有什么问题?弹出窗口?还是找到唯一的价值?到目前为止你试过什么?是的,我也很困惑。你能给我们更多的信息吗。弹出窗口是一种模式吗?有许多输入字段,其中一个值是唯一的。假设输入字段CSS类为“unique_id”。然后我将该字段调用为cy.get('.unique_id').type('123456'),因为该值应该是唯一的,所以每次运行测试时,我都需要在代码中编辑该值。为了完全自动化测试,我不想这样做,而是希望得到一个弹出窗口来键入值,然后返回测试。我不知道这是否可能。或者向我建议其他自动化选项。希望这次是清楚的。谢谢你的考虑和时间。