使用 Nightmare 检查当前页面 URL
check current page URL with Nightmare
我正在使用 Nightmare.js 和打字稿编写自动化测试。此测试的第一个 objective 是为了测试我是否到达了正确的页面。
我做了一些研究,但没有找到对我有用的东西。
这是我的代码:
import * as Nightmare from "nightmare";
describe("Login Page", function() { this.timeout("30s");
let nightmare = null; beforeEach(() => {
nightmare = new Nightmare({ show: true }); });
describe("give correct details", () => {
it("should log-in, check for current page url", done => {
nightmare
.goto(www.example.com/log-in)
.wait(5000)
.type("input[type='email']", "username")
.type("input[type='password']", "password")
.click(".submit")
.wait(3000)
SOMETHING THAT SHOULD CHECK URL HERE
.end()
.then(result => {
done();
})
.catch(done);
});
});
});
上面写着 "SOMETHING THAT SHOULD CHECK URL HERE" 我想把当前的 url 放到一个变量中供以后参考,然后再 console.log 。感谢所有答案
有很多方法可以做到。我将为此使用最简单的解决方案。
let SOMEGLOBALVAR; // so we can access it later
// Codes in between ...
.click(".submit")
.wait(3000)
.url() // <-- use the built in url
.end()
.then(url => {
SOMEGLOBALVAR = url; // set it to a global variable if you want
done();
})
您可以随意更改它。
注意:全局变量被认为是不好的做法。上面的片段只是为了说明 .url
函数。
我正在使用 Nightmare.js 和打字稿编写自动化测试。此测试的第一个 objective 是为了测试我是否到达了正确的页面。
我做了一些研究,但没有找到对我有用的东西。
这是我的代码:
import * as Nightmare from "nightmare";
describe("Login Page", function() { this.timeout("30s");
let nightmare = null; beforeEach(() => {
nightmare = new Nightmare({ show: true }); });
describe("give correct details", () => {
it("should log-in, check for current page url", done => {
nightmare
.goto(www.example.com/log-in)
.wait(5000)
.type("input[type='email']", "username")
.type("input[type='password']", "password")
.click(".submit")
.wait(3000)
SOMETHING THAT SHOULD CHECK URL HERE
.end()
.then(result => {
done();
})
.catch(done);
});
});
});
上面写着 "SOMETHING THAT SHOULD CHECK URL HERE" 我想把当前的 url 放到一个变量中供以后参考,然后再 console.log 。感谢所有答案
有很多方法可以做到。我将为此使用最简单的解决方案。
let SOMEGLOBALVAR; // so we can access it later
// Codes in between ...
.click(".submit")
.wait(3000)
.url() // <-- use the built in url
.end()
.then(url => {
SOMEGLOBALVAR = url; // set it to a global variable if you want
done();
})
您可以随意更改它。
注意:全局变量被认为是不好的做法。上面的片段只是为了说明 .url
函数。