我使用量角器测试网页,并使用预期条件类来验证登录页面,并且由于端口更改而导致测试失败。有什么办法可以解决这个问题?
browser.wait(EC.urlContains('localhost:49153'), 10000);
browser.wait(EC.urlContains('http://localhost:49153/'), 10000).then(function() {
});
谢谢!
答案 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 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');