如何在Java脚本中将不同的浏览器实例传递给不同的pageobject文件

时间:2019-11-23 16:22:04

标签: javascript selenium-webdriver protractor

我想将不同的浏览器实例传递给不同的页面目标文件,但是当我调用第二个浏览器时,它仍然只针对第一个浏览器。

规范文件

var utilityInit,page2;//browser2;
var page1=new facebook(firstBrowser);
module.exports=function(){

    this.Given('Open the browser and Load the URL',async function(){
        await firstBrowser.get(properties.get("url1"));
        browser.logger.info("Title of the window is :"+await browser.getTitle());
        //screenshots.takesScreenshot("filename");
    });

//here browser2 will initialized
    this.Then(/^User tried to open in new browser instance$/,async function(){
        browser2=await openNewBrowser.newBrowserInit(firstBrowser);
        utilityInit=new utility(browser2);
        utilityInit.ignoreSync(properties.get("url2"));
        browser2.manage().window().maximize();
        console.log(await utilityInit.title()+" title");
        browser2.sleep(5000);
    });

    this.When(/^User entered the text in the email field$/,async function(){
        page2=new googlePo(browser2);
        console.log(await page2.title()+" browser2");
        await page2.search().sendKeys("testing");
        browser2.sleep(3000);

//here i will again go to my first browser instance as browser instance have not changed in this page object file
        console.log(await page1.title()+" browser1");
        await page1.email().sendKeys(testData.Login.CM[0].Username);
        screenshots.takeScreenshot("newScreenshot");
        firstBrowser.sleep(5000);
    });
}

执行日志

//page1.getTitle() needs to return facebook as title but it is returning google which is related to second browser
Google browser2
Google browser1

0 个答案:

没有答案