我试图自动化以阿拉伯语和英语实现的Android应用程序的测试用例。
我正在使用appium
和AndroidDriver
。我也在主要测试中使用Xpath
。
当我切换到阿拉伯语时,测试用例不再适用了。
有什么建议吗?
答案 0 :(得分:2)
我使用的最好的测试工具是理性机器人。它将捕获组件ID而不是图像。并且100%正确捕捉。
对于您的情况,我认为您需要将功能测试和i18n测试分开。该功能仅用英语测试,并有特殊的翻译版本。
答案 1 :(得分:1)
尝试使用id or class
找出元素的monitor.bat
,它应该在您的Android sdk中。如果没有看到您的应用代码,就很难说它没有点击密码字段。但是,如果您提供正确的ID,它应始终有效,无论应用程序所在的语言如何。
答案 2 :(得分:0)
@karthick:这是我正在使用它的代码。但是如果我在开始写密码之前没有清除密码字段,那么即使在发送密钥之后它也总是空的。
public void Credentials(String username,String password)
{
driver.findElement(By.xpath("//android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.ScrollView[1]/android.widget.RelativeLayout[1]/android.widget.LinearLayout[1]/android.widget.EditText[1]")).sendKeys(username);
driver.findElement(By.xpath("//android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.ScrollView[1]/android.widget.RelativeLayout[1]/android.widget.LinearLayout[1]/android.widget.EditText[2]")).clear();
driver.findElement(By.xpath("//android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.ScrollView[1]/android.widget.RelativeLayout[1]/android.widget.LinearLayout[1]/android.widget.EditText[2]")).sendKeys(password);
driver.findElement(By.xpath("//android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.LinearLayout[1]/android.widget.FrameLayout[1]/android.widget.ScrollView[1]/android.widget.RelativeLayout[1]/android.widget.LinearLayout[1]/android.widget.TextView[1]")).click();
}