C# 如果从text.txt文件读取时,舰队菜单在网站中实际可见,您如何忽略该菜单?

C# 如果从text.txt文件读取时,舰队菜单在网站中实际可见,您如何忽略该菜单?,c#,selenium-webdriver,C#,Selenium Webdriver,好的,我已经为我的自动c#脚本创建了一个txt文件。只有四行,第一列是角色,第二列是电子邮件,第三列是舰队,第四列是用户。第一行与其他行不同,因为第三列没有数据,所以在文本文件中它读取“”。当它在菜单中查找时,显然找不到它。因为它不在那里,测试脚本只是挂起并产生一个无法定位元素的错误,脚本失败。所以我的问题是,有什么东西我可以放在txt文件中,或者我可以放在代码中忽略并继续: public void AddSingleUser(string email, string role, string

好的,我已经为我的自动c#脚本创建了一个txt文件。只有四行,第一列是角色,第二列是电子邮件,第三列是舰队,第四列是用户。第一行与其他行不同,因为第三列没有数据,所以在文本文件中它读取“”。当它在菜单中查找时,显然找不到它。因为它不在那里,测试脚本只是挂起并产生一个无法定位元素的错误,脚本失败。所以我的问题是,有什么东西我可以放在txt文件中,或者我可以放在代码中忽略并继续:

public void AddSingleUser(string email, string role, string [] fleets)
        {
            _regRep.btnAddUser.Click();
            objCommon.EnterText(_regRep.firstNameAdd, userName);
            objCommon.EnterText(_regRep.lastNameAdd, "Smithy");
            objCommon.EnterText(_regRep.userEmailAdd, email);
            objCommon.EnterText(_regRep.userTelephoneAdd, "12345678901");
            objCommon.Exists(_regRep.userRoleManager(role), 10);
            objCommon.ScrollInToViewAndClick(_regRep.userRoleManager(role));

            foreach (string fleet in fleets)
            {
                objCommon.Exists(_regRep.chooseFleet(fleet), 5);
                objCommon.ScrollInToViewAndClick(_regRep.chooseFleet(fleet));
            }
            System.Threading.Thread.Sleep(2000);
            objCommon.ScrollInToViewAndClick(_regRep.btnSaveUser);

            WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(20));
            wait.Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementIsVisible(By.XPath("//div[text() = 'User created.']")));
        }
请注意,对于空车队,文本文件为:

Administrator,testadmin@hotmail.com,,fleetmanager@hotmail.com-driver01@hotmail.com-driver06@hotmail.com
Manager,fleetmanager@hotmail.com,Foody Fleet-Fleetingly Employed,fleetmanager01@hotmail.com-driver02@hotmail.com-fleetmanager02@hotmail.com-driver07@hotmail.com
Manager,fleetmanager01@hotmail.com,Foody Fleet-Fleetingly Employed,fleetmanager01@hotmail.com-driver02@hotmail.com-fleetmanager02@hotmail.com-driver07@hotmail.com
Manager,fleetmanager02@hotmail.com,Foody Fleet-Fleetingly Employed,fleetmanager01@hotmail.com-driver02@hotmail.com-fleetmanager02@hotmail.com-driver07@hotmail.com

您只需添加一个检查
fleet
是否为
(空字符串)。如果是这样,跳过它,继续。我已经在下面的现有代码中添加了
if
语句

public void AddSingleUser(string email, string role, string [] fleets)
{
    _regRep.btnAddUser.Click();
    objCommon.EnterText(_regRep.firstNameAdd, userName);
    objCommon.EnterText(_regRep.lastNameAdd, "Smithy");
    objCommon.EnterText(_regRep.userEmailAdd, email);
    objCommon.EnterText(_regRep.userTelephoneAdd, "12345678901");
    objCommon.Exists(_regRep.userRoleManager(role), 10);
    objCommon.ScrollInToViewAndClick(_regRep.userRoleManager(role));

    foreach (string fleet in fleets)
    {
        if (fleet != "")
        {
            objCommon.Exists(_regRep.chooseFleet(fleet), 5);
            objCommon.ScrollInToViewAndClick(_regRep.chooseFleet(fleet));
        }
    }
    System.Threading.Thread.Sleep(2000);
    objCommon.ScrollInToViewAndClick(_regRep.btnSaveUser);

    WebDriverWait wait = new WebDriverWait(driver, TimeSpan.FromSeconds(20));
    wait.Until(SeleniumExtras.WaitHelpers.ExpectedConditions.ElementIsVisible(By.XPath("//div[text() = 'User created.']")));
}