Abh*_*bhi 1 selenium knockout.js
查看Knockout示例,不需要向HTML元素添加ID.创建没有ID的大型表单似乎易于维护.
但是,这会产生Selenium HQ的问题.无法唯一标识表单上的元素.
有什么选择?是否有另一种方法让Selenium选择由Knockout创建的元素?或者我必须为元素分配ID吗?
我已经回顾了其他淘汰赛和硒问题.所有这些都在HTML元素启动时为其定义了ID.
谢谢阿比
简答:将ID添加到HTML元素中.
尽管你没有需要为了这些属性为您的网站的功能,你会做你的测试人员的生活这么容易得多.
我在创建大型ASP.NET MVC 4应用程序的项目中遇到了完全相同的问题,该应用程序广泛使用Knockout.js和Selenium.对于表单元素,我依靠ASP.NET MVC实用程序方法结合数据绑定表达式生成输出HTML.ASP.NET MVC基于支持模型自动生成唯一的NAME和ID属性.
但是,在我必须渲染表格,显示表单或对话框的所有其他情况下,我最终向这些HTML元素添加了ID属性.如果您考虑一下,这是您的要求的合理结果.Knockout非常棒,因为你需要ID和NAME来将布局(HTML)和行为(JS)连接在一起.但是,其他框架(如Selenium)需要存在这些ID.
是的,您可以使用复杂且臃肿的XPATH表达式来解决它.但这会大大降低测试的可维护性.根据我的经验,将ID添加到数百个HTML元素花了不到一天的时间,并通过多方面提高测试人员的工作效率.
请记住,用尽可能少的HTML开发功能性网站可能会很好.但是,如果这使你的网站不稳定,你将失去比你获得更多的东西.可测试性是非功能性要求,但这并不意味着它不重要!
| 归档时间: |
|
| 查看次数: |
2486 次 |
| 最近记录: |