尽管量角器会随机更改端口号并且url会更改,但是有什么方法可以使用量角器来测试加载的网页url?

时间:2019-01-17 14:50:35

标签: javascript typescript protractor e2e-testing

我使用量角器测试网页,并使用预期条件类来验证登录页面,并且由于端口更改而导致测试失败。有什么办法可以解决这个问题?

browser.wait(EC.urlContains('localhost:49153'), 10000);
browser.wait(EC.urlContains('http://localhost:49153/'), 10000).then(function() {
});

谢谢!

1 个答案:

答案 0 :(得分:0)

如果您事先不知道端口号,则可以获取当前的URL并进行匹配或使用节点URL API。

const currentUrl = await browser.getCurrentUrl();
// for example, the url we are trying to get is http://localhost:12345/login/some/foo

使用比赛

您可以使用正则表达式进行匹配。如果您喜欢正则表达式,那很有趣。

expect(currentUrl).toMatch(/localhost:\d+\/login\/some\/foo/);

使用节点URL(WHATWG API):

您还可以使用节点url API,请参见https://nodejs.org/api/url.html 我喜欢此版本,只是因为它更易于阅读:

const currentHref = new URL(currentUrl);
expect(currentHref.protocol).toBe('http');
expect(currentHref.host).toBe('localhost');
// take a look at the chart, path includes path + search query
// but does not include hashes. If you have hashes, you'll need to change this.
expect(currentHref.path).toBe('/login/some/foo');