量角器 - 尝试自动访问时拒绝访问此网页 - Chrome

时间:2018-02-08 14:35:44

标签: javascript angularjs testing protractor automated-tests

我正在学习使用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政策。“

enter image description here

我尝试使测试独立,因此我创建了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”来运行测试。

我在答案中遵循了Yong的说明,这是截图: enter image description here

1 个答案:

答案 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设置的屏幕主机,    将截图放在你的问题中。

enter image description here

在屏幕截图之前,我们可以知道Chrome启动时的Cookie和javascript设置是错误的

相关问题