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