使用selenium web驱动程序识别'ng-reflect-opened'

时间:2017-12-05 14:38:55

标签: angularjs selenium selenium-webdriver ui-automation

我试图获得'ng-reflect-opened'的值,通过这个值,我可以断言是否点击侧面导航,左侧菜单是否可见

<mat-sidenav class="mat-elevation-z8 mat-drawer mat-sidenav ng-tns-c5-0 ng-trigger ng-trigger-transform mat-drawer-side" fixedtopgap="56" tabindex="-1" ng-reflect-mode="side" ng-reflect-opened="true" ng-reflect-fixed-in-viewport="false" ng-reflect-fixed-top-gap="56" style="transform: translate3d(0px, 0px, 0px); visibility: visible;">

目前我无法获得该值,因为selenium不支持ng模型的这个属性..我是selenium的新手,并且想要在侧面导航按钮的点击操作上断言测试用例...放在页面的标题部分

单击按钮时左侧导航菜单不可见.. snapshot attached

再次单击按钮时,将显示左侧导航菜单.. [snapshot]

1 个答案:

答案 0 :(得分:0)

这个问题没有提到要使用的Selenium Client / bindings。虽然它仍然是 Angular Element ,但我们必须能够通过 ng-reflect-opened <的以下行提取 Java 属性/ strong>代码:

driver.findElement(By.xpath("//mat-sidenav[@class='mat-elevation-z8 mat-drawer mat-sidenav ng-tns-c5-0 ng-trigger ng-trigger-transform mat-drawer-side']")).getAttribute("ng-reflect-opened");