【发布时间】:2019-02-22 14:28:58
【问题描述】:
在我们的 Protractor+Jasmine 框架中,尝试在不同登录用户的测试之间重新启动浏览器。因为我们有非角度登录页面,登录后导航到角度页面。以下是我的主要测试规范文件
describe('User Permissions', function() {
var docsLoginPage = require('../pages/CLM_Page.js');
var projectsPage = require('../pages/Projects_Page.js');
var contentPage = require('../pages/Content_Page.js');
beforeEach(function() {
browser.ignoreSynchronization = true;
browser.get('http://be-docs-dev.xyz.local/');
});
it('Verify permissions for Non Admin and Read only permission group user', function() {
docsLoginPage.loginToDocs("sipqa4@xyz.com","Yahoo@123");
expect(browser.getTitle()).toEqual('abc');
browser.ignoreSynchronization = false;
expect(projectsPage.checkElementExistsById('headers_nav_projects')).toBe(false);
expect(contentPage.checkElementExistsById("content_browse_options_folder_settings")).toBe(false);
expect(contentPage.checkElementExistsById('content_browse_options_new_menu')).toBe(false);
});
it('Verify permissions for Project collaborator Non Admin and Read only permission group user', function() {
/*browser.restart().then(function(){
console.log("-----------Restarted the browser---------------");
});*/
docsLoginPage.loginToDocs("sipqa2@xyz.com","Yahoo@123");
expect(browser.getTitle()).toEqual('abc');
browser.ignoreSynchronization = false;
expect(projectsPage.checkElementExistsById('headers_nav_content')).toBe(false);
expect(contentPage.checkElementExistsById("projects_browse_options_folder_settings")).toBe(false);
expect(contentPage.checkElementExistsById('projects_browse_options_new_menu')).toBe(false);
});
});
还有 CLM_Page.js
var CLM_page = function() {
this.userName = element(By.id('userName'));
this.password = element(By.id('password'));
this.signIn = element(By.className('btn btn-primary'));
this.loginToDocs = function(userName, password) {
browser.driver.manage().window().maximize();
browser.driver.manage().timeouts().implicitlyWait(10000);
this.userName.sendKeys(userName);
this.signIn.click();
this.password.sendKeys(password);
return this.signIn.click();
};
};
module.exports = new CLM_page();
在conf文件中设置为
restartBrowserBetweenTests: true
首先它块正在正确执行。但是,在执行第二次时,它会阻止浏览器立即重新启动和关闭。显示以下错误
失败: 1) 用户权限验证项目合作者非管理员和只读权限组用户的权限 信息: 失败:此驱动程序实例没有有效的会话 ID(您是否调用了 WebDriver.quit()?)并且可能不再使用。 堆: NoSuchSessionError:此驱动程序实例没有有效的会话 ID(您是否调用了 WebDriver.quit()?)并且可能不再使用。
【问题讨论】:
-
这可能会有所帮助:protractortest.org/#/…
-
没有注销按钮可以带您回到主登录页面吗?
-
@Barney- 我试过 browser.restart()。但它在非角度登录页面上失败了。
-
@DublinDev- 我尝试了谷歌建议的几乎所有解决方案。没有什么对我有用。作为一种解决方法,我现在正在使用注销:(
标签: selenium-webdriver jasmine protractor jasmine2.0