如何在angularJS前端使用硒自动化测试

Saj*_*chi 0 selenium automated-tests specflow angularjs selenium-webdriver

我正在测试用.NET Backend和AngularJS前端编写的应用程序.使用Selenium编写一些自动化测试和specflow集成(C#).

我已经完成了初始设置,但我遇到的最大困难之一就是检测动态Web元素.由于应用程序使用的是Angular,因此除非我尝试使用XPath,否则无法轻松识别大多数元素.Selenium不支持化合物类名称,即"class ="ng-pristine ng-valid ng-touching""并且ID不断变化.

有没有更好的方法呢?还是我可以用来让我的生活更轻松的图书馆?

任何输入赞赏:)

小智 5

为了测试AngularJS应用程序,我建议你使用Protractor.这是AngularJS应用程序的端到端测试框架.当您使用任何自动化工具自动化Angular应用程序时,您遇到的问题非常普遍,这就是Google推出Protractor的原因.

对于复合类使用:

driver.findElement(By.cssSelector(".ng-pristine.ng-valid.ng-touched");
Run Code Online (Sandbox Code Playgroud)