2016-12-16 43 views
1

我试图调试的角度(1.x中)的应用程序,包括在几个页面上的一些操作的测试流程。在某些时候,量角器会抛出“无法找到元素”的错误。知道如何让它打印出错误时使用的css选择器会很好,所以我可以更容易地跟踪我的测试代码中的失败。有没有办法做到这一点?使用Protractor进行调试时,如何在元素无法找到DOM节点时获取原始选择器?

的复杂的因素是,有在应用程序的几个自动重定向(点击“提交”的形式,然后事情发生),这使得它非常棘手知道哪些页面进行调试。

因此,像这样将是巨大的:

var elem = element(by.css('.some-elem')); 
elem.getSelector(); // return '.some-elem', or another way to sniff out the element instance 

希望这是明确的,如果没有我会很乐意更详细地说明。谢谢!

回答

2

您可以使用element().locator().toString()来查找元素使用的定位器,它适用于element()element.all()

var element1 = element(by.css("someCss")); 
element1.locator().toString(); //this will return you `by.css("someCss")` 

总是建议在编写测试用例的脚本时遵循页面对象模式,从而使测试套件更易于维护。

+0

不错,我使用'locator()'很多,但从来没有用'.toString()'试过。更清洁的结果 – Gunderson

0

这是我用过的东西。

var elem = element(by.css('.some-elem')); 
elem.parentElementArrayFinder.locator_.toString(); 
相关问题