我正在使用Nightmare.js和打字稿编写自动化测试。这项测试的第一个目标是测试我是否登陆了正确的页面。
我做了一些研究,但没有找到对我有用的东西。
这是我的代码:
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);
});
});
});
它说什么"有些人应该在这里检查网址"我想要将当前url放入变量以供以后参考,然后再调用console.log。感谢所有答案
答案 0 :(得分:0)
有很多方法可以做到这一点。我将使用最简单的解决方案。
// galleryTop and galleryThumbs
galleryTop.controller.control = galleryThumbs;
galleryThumbs.controller.control = galleryTop;
// galleryThumbs and galleryTabs
galleryThumbs.controller.control = galleryTabs ;
galleryTabs.controller.control = galleryThumbs;
您可以随意更改它。
注意:全球变量被认为是不好的做法。上面的代码段仅用于说明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();
})
函数。