C# FindElement不';我找不到任何关于阿皮姆的东西
使用以下测试方法(此处为问题简化,请忽略设计问题,因为这不是实际代码)C# FindElement不';我找不到任何关于阿皮姆的东西,c#,winforms,appium,appium-desktop,C#,Winforms,Appium,Appium Desktop,使用以下测试方法(此处为问题简化,请忽略设计问题,因为这不是实际代码) [TestClass] 公共类登录测试 { 受保护的静态Windows驱动程序会话; [测试方法] 使用有效密码登录的公共无效登录 { if(会话==null) { var options=新应用程序选项(); options.AddAdditionalCapability(“app”,@“D:\myApp.exe”); 选项。添加附加功能(“deviceName”、“WindowsPC”); 会话=新的WindowsDri
[TestClass]
公共类登录测试
{
受保护的静态Windows驱动程序会话;
[测试方法]
使用有效密码登录的公共无效登录
{
if(会话==null)
{
var options=新应用程序选项();
options.AddAdditionalCapability(“app”,@“D:\myApp.exe”);
选项。添加附加功能(“deviceName”、“WindowsPC”);
会话=新的WindowsDriver(新Uri(WindowsApplicationDriverUrl),选项);
Assert.IsNotNull(会话);
session.Manage().Timeouts().ImplicitWait=TimeSpan.FromSeconds(1.5);
}
//安排
字符串username=“username”;
var txtUsername=session.FindElementByName(“txtUsername”);
//表演
//待开发
//断言
arenequal(用户名,txtUsername.Text);
}
}
我在UI中找不到任何元素,测试运行时应用程序会正确启动(后台运行WinAppDriver
),但无论我如何尝试在屏幕上查找元素,都会收到相同的错误消息
“错误”:“没有此类元素”
“消息”:“无法使用给定的搜索参数在页面上找到元素。”
更新1
根据下面的第一条注释,我使用inspect.exe
确认屏幕上我试图获取的元素的名称,而nop,我在测试中找不到它。
您是否使用inspect或UISpy来确保查找的名称正确?您是否尝试通过添加Wait命令来运行代码?我的代码中有1.5秒的隐式等待,我已将其增加到10秒以进行测试。此外,我正在加载屏幕后使用
立即窗口
进行测试,因此,假设代码正确,应该在该点找到元素。我想。。。
[TestClass]
public class LoginTests
{
protected static WindowsDriver<WindowsElement> session;
[TestMethod]
public void Login_WithValidCredentials_Logsin()
{
if (session == null)
{
var options = new AppiumOptions();
options.AddAdditionalCapability("app", @"D:\myApp.exe");
options.AddAdditionalCapability("deviceName", "WindowsPC");
session = new WindowsDriver<WindowsElement>(new Uri(WindowsApplicationDriverUrl), options);
Assert.IsNotNull(session);
session.Manage().Timeouts().ImplicitWait = TimeSpan.FromSeconds(1.5);
}
//Arrange
string username = "username";
var txtUsername = session.FindElementByName("txtUsername");
//Act
//To be developed
//Assert
Assert.AreEqual(username, txtUsername.Text);
}
}