我已经为我的主页编写了一些测试,但测试非常通用,如页脚,标题检查。
我的测试结构如下:
const footerCheck = function(browser){
browser.url("example.com");
browser.verify.elementPresent(".footer-top", "Footer-top is present.")
browser.verify.elementPresent(".footer-middle", "Legal notice bar is present")
browser.verify.elementPresent(".footer-bottom", "Copyright bar is present")
}
export.module = {
"Footer Check" : footerCheck
}
假设我有100页。我想在所有100页上运行footerCheck
函数。
网址,例如example.com/page1,example.com/page2,example.com/page3 ...
由于所有测试对其他页面都有效,我想循环所有页面以获得相同的测试用例。不知怎的,我无法理解它。
这怎么可能,任何帮助都会受到赞赏。
由于
答案 0 :(得分:1)
根据我的个人经验,做BDD的最佳方法是添加使用gherkin语法的黄瓜。如果你知道如何使用它,它可以更清晰,更有助于减少冗余代码。有一个Nightwatch npm plugin添加黄瓜,一旦你添加了黄瓜,你必须创建你的.feature文件,如下所示
Feature: Check elements are present
Scenario Outline:
Given the user enters on a <page>
Then .footer-top, .footer-middle and .footer-bottom class should be enabled
Examples:
|page|
|page.com/page1|
|page.com/page2|
|page.com/page3|
你的步骤定义(你在哪里声明每个步骤会做什么)它会自动运行示例中提供的每个url的每一步(注意将在示例中替换的<page>
标志,第一行是标签的名称)。
查看examples