Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 使用c从Selenium Webdriver中的excel读取数据#_C#_Selenium - Fatal编程技术网

C# 使用c从Selenium Webdriver中的excel读取数据#

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

我正在与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)


有人能帮助解决这个问题吗?

好吧,您正在将
单元格
类型的参数传递给
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);

            }

        }
    }
}