簡體   English   中英

如何在NUnit測試框架上使用Selenium C#在新的Chrome選項卡上打開URL

[英]How to open a url on a new Chrome Tab using selenium C# over NUnit test framework

我正在嘗試測試單點登錄功能; 其中,我打開了chrome會話並登錄到網頁。 此后,我想在同一瀏覽器窗口上打開一個新選項卡,然后打開先前輸入的URL的另一個擴展名,以驗證它保留了用戶會話。 我無法在chrome上打開新標簽頁,然后切換焦點-

這就是我嘗試過的(我是新手,還在學習...。感謝所有幫助/建議)

using OpenQA.Selenium.Chrome;
using NUnit.Framework;
using OpenQA.Selenium.Support.UI;
using System.Collections.Generic;
using System.Web;
using System.Threading.Tasks;

namespace Test
{
[Binding]
public class XXX
{
    IWebDriver driver = new ChromeDriver(); 


    public void LoginPage()
    {
        driver.Navigate().GoToUrl("http://www.abcd.com/");
    }


    public void LoggedIn()
    {
        //Entering username & password on Platform login page
        driver.FindElement(By.Id("username")).SendKeys("abcd");
        driver.FindElement(By.Id("password")).SendKeys("XXXX");

        var loginBtn = driver.FindElement(By.CssSelector("input[type='button']"));
        loginBtn.Click();

    }


    public void OpenANewBrowserTab()
    {
        driver.SwitchTo().ParentFrame();


driver.FindElement(By.CssSelector("body")).SendKeys(Keys.Control + "t");
        driver.Navigate().GoToUrl("http://abcd.com/ux");

    }

我遇到錯誤了-

An exception of type 'OpenQA.Selenium.NoSuchElementException' occurred in 
WebDriver.dll but was not handled in user code

Additional information: no such element: Unable to locate element: 
{"method":"css selector","selector":"body"}

要獲得關注,請使用以下語句。

driver.SwitchTo().ActiveElement();

它與javascript語句document.activeElement的語義相同。如果那對您不起作用。 然后,作為最后的手段,您始終可以使用javascript

IJavaScriptExecutor js = (IJavaScriptExecutor)driver;
js.ExecuteScript("var win = window.open('https://www.bing.com', '_blank');
      win.focus();");

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM