C# 使用c从Selenium Webdriver中的excel读取数据#
我正在与selenium webdriver c#合作。我需要从excel中读取数据 代码: 但我得到了以下例外: Microsoft.CSharp.RuntimeBinder.RuntimeBinderException:最佳 重载方法匹配 “OpenQA.Selenium.IWebElement.SendKeys(字符串)”具有一些无效的 CallSite.Target(闭包、CallSite、IWebElement、, 对象)在 System.Dynamic.UpdateLegates.UpdateAndExecuteVoid2[T0,T1](调用站点 站点,T0 arg0,T1 arg1)C# 使用c从Selenium Webdriver中的excel读取数据#,c#,selenium,C#,Selenium,我正在与selenium webdriver c#合作。我需要从excel中读取数据 代码: 但我得到了以下例外: Microsoft.CSharp.RuntimeBinder.RuntimeBinderException:最佳 重载方法匹配 “OpenQA.Selenium.IWebElement.SendKeys(字符串)”具有一些无效的 CallSite.Target(闭包、CallSite、IWebElement、, 对象)在 System.Dynamic.UpdateLegates.U
有人能帮助解决这个问题吗?好吧,您正在将
单元格
类型的参数传递给SendKeys()
方法,而该方法需要一个字符串
请尝试loginrange.Cells[emptyUsernameRowNumber][1].Value2.ToString()
注:
我假设您的单元格中有所需的数据。尝试了loginrange.Cells[emptyUsernameRowNumber][1].ToString(),但同样的例外是Convert.ToString(loginrange.Cells[emptyUsernameRowNumber][1].ToString())对我有效,但我得到的值是System.\u ComObject.Update更新了答案。我试过了,现在应该可以用了。
using System;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using NUnit.Framework;
using OpenQA.Selenium;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Support.UI;
using Excel = Microsoft.Office.Interop.Excel;
namespace UIL
{
[TestClass]
public class UIL_Login : UtilityHelper
{
IWebDriver driver;
Excel.Application loginapp;
Excel.Workbook loginworkbook;
Excel._Worksheet loginworksheet;
Excel.Range loginrange;
public UIL_Login()
{
loginapp = new Excel.Application();
loginworkbook = loginapp.Workbooks.Open(@"D:\\MyProjects\\Selenium_C#\\SeleniumProjects\\UIL\\UIL\\Resources\\login.xls");
//loginworksheet = loginworkbook.Sheets[1];
loginworksheet = (Excel.Worksheet)loginworkbook.Worksheets.get_Item(1);
loginrange = loginworksheet.UsedRange;
}
[TestInitialize]
public void SetUp()
{
driver = new ChromeDriver(@"D:\\MyProjects\\Selenium_C#\\Selenium\\chromedriver");
driver.Navigate().GoToUrl("http://192.168.0.35:92");
driver.Manage().Window.Maximize();
}
/*Login without username*/
[TestMethod]
public void loginWithoutUsername()
{
try
{
int emptyUsernameRowNumber = 1;
driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(1000);
IWebElement username = webElement(driver, Constants.VAR_EMAIL);
username.Clear();
//username.SendKeys("amrutha.u@teamta.in");
username.SendKeys(loginrange.Cells[emptyUsernameRowNumber][1]);
driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(1000);
IWebElement password = webElement(driver, Constants.VAR_PASSWORD);
password.Clear();
// password.SendKeys("UIL@123#");
password.SendKeys(loginrange.Cells[emptyUsernameRowNumber][2]);
driver.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(1000);
IWebElement signinButton = driver.FindElement(By.XPath("//*[@id='mainDiv']/div[4]/div/div/form/a/button"));
signinButton.Click();
}
catch (Exception e)
{
Console.Write(e);
}
}
}
}