[英]How do i reference the IWebDriver variable in another method?
我正在嘗試在C#中使用webdriver來自動化一些任務。 我創建了一個名為logInAutomation的方法,如下所示:
IWebDriver driver = new ChromeDriver();
然后單擊按鈕時,我在事件處理程序中引用該方法,如下所示:
private void testButton_Click(object sender, EventArgs e)
{
logInAutomation();
}
問題是,我需要再次引用IWebDriver,但是我知道如何編寫代碼的唯一方法是重新鍵入:
IWebDriver driver = new ChromeDriver();
這會導致另一個鍍鉻窗口打開。 如何在事件處理程序方法中引用IWebDriver而不打開新窗口? 抱歉,如果我的術語不對,我是編碼新手,所以如果需要澄清,請告訴我。
這是完整的代碼:
namespace Automation_Suite
{
public partial class redSuite : Form
{
public redSuite()
{
InitializeComponent();
}
static public void logInAutomation()
{
//Opens Chrome Window and navigates to Autoloop Log in
IWebDriver driver = new ChromeDriver();
driver.Url = "DESTINATION URL";
//Finds Username field and enters username
IWebElement element = driver.FindElement(By.Name("USERNAME LOG IN"));
element.SendKeys("USERNAME");
//Finds Password field and enters password
element = driver.FindElement(By.Name("PASSWORD AUTOMATION"));
element.SendKeys("PASSWORD");
//Clicks Submit
driver.FindElement(By.Id("SUBMIT BUTTON")).Click();
}
public void button1_Click(object sender, EventArgs e)
{
this.Close();
}
private void hostedGalleryBtn_Click(object sender, EventArgs e)
{
logInAutomation();
IWebElement element = element = driver.FindElement(By.Name("COMPANY ID"));
element.SendKeys("ID NUMBER");
}
}
}
您需要將“ driver”定義為類字段成員 ,而不是在方法內部,而是在類范圍內。
namespace Automation_Suite
{
public partial class redSuite : Form
{
private IWebDriver driver = new ChromeDriver(); //define driver here so you can use it in methods.
public redSuite()
{
InitializeComponent();
}
public void logInAutomation()
{
driver.Url = "DESTINATION URL";
//Finds Username field and enters username
IWebElement element = driver.FindElement(By.Name("USERNAME LOG IN"));
element.SendKeys("USERNAME");
//Finds Password field and enters password
element = driver.FindElement(By.Name("PASSWORD AUTOMATION"));
element.SendKeys("PASSWORD");
//Clicks Submit
driver.FindElement(By.Id("SUBMIT BUTTON")).Click();
}
public void button1_Click(object sender, EventArgs e)
{
this.Close();
}
private void hostedGalleryBtn_Click(object sender, EventArgs e)
{
logInAutomation();
IWebElement element = element = driver.FindElement(By.Name("COMPANY ID"));
element.SendKeys("ID NUMBER");
}
}
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.