运行测试时,我收到错误消息:
browser.setlocation is not a function.
量角器网站将browser.setLocation()列为函数,为什么它无法识别我对它的使用?
我尝试了多种访问网址的方法,例如window.location ...,但无济于事。
it('login', function() {
browser.setLocation('http://localhost')
.waitForElementVisible('wrap')
.setValue("#username", "username1")
.setValue("#password", "Password2");
element(by.id('loginBtn')).click();
browser.waitForAngular();
});
测试应转到登录页面,输入用户名和密码,然后单击登录
答案 0 :(得分:0)
您可以使用
browser.get('website link');
element(by.css('locator for username')).sendkeys('test');
element(by.css('locator for password')).sendkeys('test');
element(by.id('locator for login button')).click();
这是访问URL并登录到应用程序的简单方法。
答案 1 :(得分:0)
首先browser.setLocation('http://localhost').waitForElementVisible('wrap')...
无效的语法。
browser.setLocation
方法用于使用页内导航浏览到另一页。
browser.get('http://angular.github.io/protractor/#/tutorial');
browser.setLocation('api'); // Current url is 'http://angular.github.io/protractor/#/api'
此外,我不知道waitForElementVisible
和setValue
方法的作用,但是您必须调用then
才能在量角器中链接方法。
如果要导航/打开页面,请使用browser.get(url)
方法。
可行的解决方案:
it('login', async () => {
await browser.get('http://localhost')
await browser.wait(ExpectedConditions.visibilityOf($('wrap')), 5000);
await element(by.id("username")).sendKeys("username1");
await element(by.id("password")).sendKeys("Password2");
await element(by.id('loginBtn')).click();
await browser.waitForAngular();
});