Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/77.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Html 如何在TestCafe中获取下拉值的所有选项_Html_Testing_Automated Tests_E2e Testing_Testcafe - Fatal编程技术网

Html 如何在TestCafe中获取下拉值的所有选项

Html 如何在TestCafe中获取下拉值的所有选项,html,testing,automated-tests,e2e-testing,testcafe,Html,Testing,Automated Tests,E2e Testing,Testcafe,我有一个下拉列表,其中有n个选项值。如何获取所有这些选项值,然后在一次性测试中断言它们。我在文档中没有找到任何内容。 请让我现在如何才能做到这一点 假设我有以下下拉列表: <select id="city"> <option>New York</option> <option>London</option> <option>Paris</option> </select> 此

我有一个下拉列表,其中有n个选项值。如何获取所有这些选项值,然后在一次性测试中断言它们。我在文档中没有找到任何内容。 请让我现在如何才能做到这一点

假设我有以下下拉列表:

<select id="city">
    <option>New York</option>
    <option>London</option>
    <option>Paris</option>
</select>

此解决方案假设页面上没有其他选项html项。这个解决方案假设在你的页面上没有其他选项html项。它们都在下面你可以找到一个类似的例子,我们将在不久的将来提供一个更广泛的例子。 在您的情况下,可以使用以下代码:

从“testcafe”导入{ClientFunction}; fixture`获取选项值` .第页`https://example.com`; const getOptionNames=ClientFunction=>{ const select=document.querySelector'city'; const options=select.querySelectorAll'option'; 常量值=[]; 选择权的出租权 values.pushoption.textContent; 返回值; }; 测试'test',异步t=>{ 等待t.expectgetOptionNames.eql['newyork','London','Paris']; };
你可以找到一个类似的例子,我们将在不久的将来提供一个更广泛的例子。 在您的情况下,可以使用以下代码:

从“testcafe”导入{ClientFunction}; fixture`获取选项值` .第页`https://example.com`; const getOptionNames=ClientFunction=>{ const select=document.querySelector'city'; const options=select.querySelectorAll'option'; 常量值=[]; 选择权的出租权 values.pushoption.textContent; 返回值; }; 测试'test',异步t=>{ 等待t.expectgetOptionNames.eql['newyork','London','Paris']; };
事实上,我正在寻找一种方法,我们可以一次验证所有项目,而不是循环通过它们。事实上,我正在寻找一种方法,我们可以一次验证所有项目,而不是循环通过它们。谢谢。但是我真的很想看到这个特性,在这里我可以一次获得数组,而不是循环通过它。JavaScript和TestCafe中都没有这样的方法。您可以创建自己的助手方法,并在必要时在测试中使用它。谢谢。但是我真的很想看到这个特性,在这里我可以一次获得数组,而不是循环通过它。JavaScript和TestCafe中都没有这样的方法。您可以创建自己的助手方法,并在必要时在测试中使用它。
test('TestCafe - Verify all Options', async (t) => {
    const optionList = Selector('option');
    for( var i = 0; i < await optionList.count; i++){
        const optionText = await optionList.nth(i).innerText;
        // Perform some validation/comparision on the text to see if it is as you expect....
    }
})