首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Cypress测试表单

Cypress测试表单
EN

Stack Overflow用户
提问于 2018-11-13 14:03:31
回答 2查看 1.8K关注 0票数 0

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

EN

回答 2

Stack Overflow用户

发布于 2019-05-17 06:34:59

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

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

代码语言:javascript
复制
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函数,并将其分配到cypress测试中的const myUnique = getUniquevalue();中。在cypress中的类型命令中传递此myUnique

代码语言:javascript
复制
function getUniquevalue(){
 const uniqueValue = (new Date()).getTime() + Math.trunc(365 * Math.random());
 return uniqueValue;
}

请参见以下控制台输出:

票数 1
EN

Stack Overflow用户

发布于 2019-05-16 21:31:28

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

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

实现这一点的最简单方法是导入npm包并使用它。有很多这样的包,你可以搜索一下从中挑选一个。其中之一是changejs (还包括许多其他特性)。查看此https://chancejs.com/miscellaneous/guid.html

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53274742

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档