我正在尝试从下拉列表中选择一个随机选项。到目前为止,我没有找到任何有用的答案。我没有问题选择一个特定的选项,因为所有的值都有ID集。
这是简单/直接的,其工作原理是:
const log = new loginPage()
log.visit()
log.loginEmail('test')
log.loginPassword('test')
log.submit()
cy.get('#link-new-application').click()
cy.get('#control-nationality').click()
cy.get('#option-nationality-DZA').click()
随机选择有什么建议吗?我是一个初学者,所以任何帮助都将不胜感激。
这是HTML:
4条答案
按热度按时间1szpjjfi1#
赛普瑞斯带着洛达什烤在里面。
Lodesh带来了很多方便的实用方法,使用
sample
方法,您可以从集合中随机获取一个项目。https://docs.cypress.io/api/utilities/_#Syntax
https://lodash.com/docs#sample
w80xi6nr2#
一种方法是获取所有选项,然后随机单击其中一个
6ojccjat3#
tlolkema给出的Lodash例子有一些错误。
options
参数是一个对象,而不是一个数组。它对每个选项都有一个编号属性,但它也有以下属性length
个prevObject
selector
Lodash
sample()
方法可以在对象上运作,但它会传回对象的其中一个属性。因此,有时候
Cypress._.sample(options)
会返回上面列出的三个属性之一,而您的测试会因为意外原因而失败。正确的方法是先将
options
转换为数组。您也可以
cy.wrap()
选取的选项,而不是cy.get()
它。j9per5c44#
试试这个解决方案-