【发布时间】:2018-01-09 16:49:50
【问题描述】:
我希望能够使用 e2e 导航我的 ionic 应用程序。 我正在使用量角器通过 css 绑定元素来执行此操作。 我想制作一个 ion-tab 来进行点击。
element(by.css('.settingTabButton')).click();
我想在 html 中的 ion tab' 类中添加一个 css 属性,以便我可以通过它的 css 属性来获取该元素。
<ion-tab class="settingTabButton" [root]="tab3Root" tabTitle="Settings"
tabIcon="md-settings">
当我运行测试时,它报告“失败的元素不可见”:
我认为它失败了,因为 ion-tab 不是按钮,所以你不能在量角器中调用 element.click()?
chrome> 开发者控制台>元素部分:
<ion-tab class="settingTabButton" role="tabpanel" tabicon="md-settings" tabtitle="Settings" ng-reflect-root="function SettingsPage(navCtrl," ng-reflect-tab-title="Settings" ng-reflect-tab-icon="md-settings" id="tabpanel-t0-2" aria-labelledby="tab-t0-2" aria-hidden="true"><div></div><div class="nav-decor"></div></ion-tab>
使用 css 绑定元素是量角器的最佳解决方案吗?
请参阅下面的伪以了解我的实现
tabs.html
<ion-tabs>
<ion-tab class="settingTabButton" [root]="tab3Root" tabTitle="Settings"
tabIcon="md-settings">
</ion-tab>
</ion-tabs>
tabs.scss:
.settingTabButton.important {
}
在 tabs.ts 中:
@Component({
templateUrl: 'tabs.html',
styleUrls: ['/tabs.scss']
})
example.e2e-spec.ts
describe('Login', () => {
beforeEach(() => {
page.navigateTo('http://localhost:8100/');
});
it('as unregistered user be able to navigate to setting screen', () => {
element(by.css('.settingTabButton')).click().then(() => { // fails here
expect(true).toBe(true);
});
});
})
【问题讨论】:
-
我觉得用id代替空的css变量比较好。
标签: html css protractor ionic3 karma-jasmine