Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.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
Javascript 在模板中使用定位器名称来编写更简单的E2E测试是个坏主意吗?_Javascript_Selenium_Automation_Protractor - Fatal编程技术网

Javascript 在模板中使用定位器名称来编写更简单的E2E测试是个坏主意吗?

Javascript 在模板中使用定位器名称来编写更简单的E2E测试是个坏主意吗?,javascript,selenium,automation,protractor,Javascript,Selenium,Automation,Protractor,我发现很难找到我正在测试的东西,因为它是深嵌套的,等等 使用某些东西是个坏主意吗 <h1 name="test-main-title">About Us</h1> 稍后,对于prod构建,我可以从HTML文件中删除name=test-*。在我开始做之前,我只想知道这是否是一个糟糕的想法。这个想法本身类似于修改应用程序或特定的应用程序构建以进行测试或分段,从而使测试更容易。这个想法本身很普遍,也有其利弊。但我并不特别喜欢为此更改现有属性值的想法。相反,考虑添加有意义的ID

我发现很难找到我正在测试的东西,因为它是深嵌套的,等等

使用某些东西是个坏主意吗

<h1 name="test-main-title">About Us</h1>

稍后,对于prod构建,我可以从HTML文件中删除name=test-*。在我开始做之前,我只想知道这是否是一个糟糕的想法。

这个想法本身类似于修改应用程序或特定的应用程序构建以进行测试或分段,从而使测试更容易。这个想法本身很普遍,也有其利弊。但我并不特别喜欢为此更改现有属性值的想法。相反,考虑添加有意义的ID和面向数据的类或其他属性

id特别具有多个优势-它们不太可能被更改,它们是唯一的(至少在理论上应该是这样),它们是面向数据的意思,您可能不会有一个等同于col-sm-6的id,并且它们是定位元素的最快方法

此外,以下是与更多想法相关的线程:


非常感谢。我想我会继续使用姓名还是应该使用id?这有关系吗?因为我认为这对我来说会更容易。@user1354934是的,很抱歉多次编辑-我应该杀死我内心的完美主义者,他总是抱怨smth不够好。我可以再问一个问题吗?那么我应该用量角器测试什么呢?我正在努力学习这些东西。它主要是用于你有数据的地方,还是用于各种各样的东西?抱歉,如果这是一个一般性的问题:例如,我写了一个测试,以确保我在正确的url上,h1标题是正确的,并且作为我的中继器呈现的卡的一部分的按钮是可读的add@user1354934当然嗯,这很难回答,因为没有银弹,它是测试特定的应用程序。如果您目前没有任何测试,我建议您首先关注应用程序最关键的部分,或者最有可能出现故障的部分,或者资金来源:啊,我明白了。谢谢从文档中我不太确定我应该测试什么。
element(by.name('test-main-title'));?