我正在学习使用Protractor作为自动化网站测试的工具。我正在测试页面:https://www.upwork.com/。我使用的是谷歌Chrome浏览器。
问题是:
1.当量角器进入:https://www.upwork.com时,它可以工作。
2.当我手动(将此网址粘贴到浏览器)转到https://www.upwork.com/hire/angularjs-developers/时,它可以正常工作。
3.当量角器首先进入:https://www.upwork.com/,然后单击“浏览技能”部分中的“AngularJS Developers”文本时,它可以正常工作。
4.但是,当量角器尝试通过浏览器方法browser.get(url)直接转到https://www.upwork.com/hire/angularjs-developers/时,它不起作用,并显示以下消息:
“拒绝访问此网页。
请确保您的浏览器支持JavaScript和Cookie,并确保您不会阻止它们加载。要了解有关Upwork如何使用Cookie的更多信息,请查看我们的Cookie政策。“
我尝试使测试独立,因此我创建了2个测试类。一个测试HomePage和第二个测试HirePage。 这就是我尝试直接在https://www.upwork.com/hire/angularjs-developers/上打开浏览器以便能够测试此站点而无需打开主页并单击“AngularJS Developers”文本转到HirePage的原因。
当第一个测试不通过时,第二个测试也不会通过,这意味着它们是依赖的。我该怎么做以及如何解决这个问题?
以下是HirePage Test的代码:
test
这是我的cong.js文件:
const HirePage = require("../Pages/HirePage");
let hirePage;
const url = browser.params.HirePageURL;
const expectedHeadLine = browser.params.expectedHeadlineOnHirePage;
beforeAll(function () {
browser.get(url);
hirePage = new HirePage();
});
describe("Checks Hire page and filering the freelancers after filling
the data", function () {
it("Should have correct HeadLine", function () {
expect(hirePage.headlineUpperText()).toContain(expectedHeadLine);
});
});
我通过在控制台输入“protractor conf.js”来运行测试。
答案 0 :(得分:0)
请按照以下步骤检查由Automation启动的Chrome实例中的Cookie和Javascript设置
1)打开网址后添加一个长睡眠,这样你就有时间停止运行以防止浏览器实例关闭。
beforeAll(function () {
browser.get('https://www.upwork.com/hire/angularjs-developers/');
browser.sleep(60*1000);
hirePage = new HirePage();
});
2)再次运行脚本,一旦chrome打开并且自动打开url,返回cmd窗口按Ctrl + C,然后按Y结束运行。
3)在未关闭的镀铬中的新标签中打开chrome://settings/content
如下所示,获取cookie和javascript设置的屏幕主机,
将截图放在你的问题中。
在屏幕截图之前,我们可以知道Chrome启动时的Cookie和javascript设置是错误的