E2E测试量角器问题:在同一窗口中重定向到另一个页面

时间:2015-06-23 20:25:07

标签: protractor

我需要测试的网站需要登录。但是,您必须保持在同一窗口中以保留您的登录信息,这意味着如果您关闭此页面的窗口,则需要再次登录。这给了我一个问题:当我使用量角器来测试网站时,似乎每次我都使用browser.get(url)。它将关闭浏览器并打开另一个用于测试,然后我丢失了我的登录信息。所以我无法测试我想要测试的页面。任何人都可以给我一些建议,我有一天没想出来。疯狂!

describe('Sample List page test', function(){
	beforeEach(function(){
	browser.driver.get('http://localhost:8600/#/login');
        browser.driver.sleep(2000);
        browser.driver.findElement(by.id('google-login')).click();
	});
	it('should list all the items in samples',function(){
  	browser.get("#/osctr/sample");
    expect(browser.getTitle()).toBe("Sample");
	}
});
});

在上面的代码中,我无法在示例页面中获取信息,因为我使用了brower.get(url),它将打开一个新的页面,我将丢失我的登录信息。

1 个答案:

答案 0 :(得分:1)

当你browser.driver.get()时,它会打开一个新的窗口。这就是selenium-webdriver的工作原理。有一个issue长时间回来将webdriver实例附加到现有的浏览器窗口,现在标记为NotFeasible

如果您希望保持浏览器会话不变,则可以browser.driver.get()方法before()而不是beforeEach()进行after,并且可以在同一浏览器实例上运行多个测试并退出浏览器在ADBDevices () { adb devices | awk -F"\t" '/\tdevice$/{print $1}' } ADBPushAndScan () { adb -s $1 push home/test/test-automation-agent/loadondevice/. /sdcard adb -s $1 shell am broadcast -a android.intent.action.MEDIA_MOUNTED -d file://mnt/sdcard } Wait () { while [ $(jobs | grep Running | wc -l) -ne 0 ]; do sleep 1; done } for device in $(ADBDevices); do ADBPushAndScan $device & done Wait 方法中。