如何在appium中添加清除系统文件

时间:2019-06-18 08:06:35

标签: appium

我必须使用appium java在android应用程序中执行登录活动。我的应用程序正在打开,但未发生登录,并且在appium服务器中出现以下错误。 [AndroidDriver]不清除生成的文件。如果需要,添加clearSystemFiles功能。

实际结果:Android应用程序正在打开,但未执行登录活动,并显示以下错误: Appium服务器出现类似“ [AndroidDriver]的错误,不清除生成的文件。如果需要,添加clearSystemFiles功能。” 预期结果:一旦打开应用程序,Appium服务器应该不会出错并且登录活动也应该执行

package Automation;
import io.appium.java_client.AppiumDriver;
import io.appium.java_client.android.AndroidDriver;
import io.appium.java_client.remote.MobileCapabilityType;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import java.net.URL;

import org.openqa.selenium.remote.DesiredCapabilities;
import org.openqa.selenium.support.ui.ExpectedConditions;
import org.openqa.selenium.support.ui.WebDriverWait;

public class AppiumTest2 {
AppiumDriver driver;

public  void setup() throws Exception  {

    DesiredCapabilities Capabilities = new DesiredCapabilities();
    Capabilities.setCapability("deviceName", "codeblaze");
    Capabilities.setCapability("platforVersion", "7.0");
    Capabilities.setCapability("platformName", "Adnroid");
    Capabilities.setCapability("appPackage", "package name");
    Capabilities.setCapability("appActivity", "activity name");
driver = new AndroidDriver(new URL("http://0.0.0.0:4723/wd/hub"), Capabilities);


}

public void tearDown() throws Exception {
    driver.quit();
}


public void LogInWithInvalidEmail() {

    WebElement emailTextField = (new WebDriverWait(driver,60)).until(ExpectedConditions.presenceOfElementLocated(By.id("etusername")));
    emailTextField.sendKeys("Invalid Email");

    WebElement passwordTextField = driver.findElement(By.id("etpassword"));
    passwordTextField.sendKeys("Random Password");

    WebElement loginButton = driver.findElement(By.id("lllogin"));
    loginButton.click();

}
}

Appium服务器出现类似“ [AndroidDriver]的错误,不清除生成的文件。如果需要,添加clearSystemFiles功能。” 预期结果:一旦打开应用程序,Appium服务器应该不会出错并且登录活动也应该执行

1 个答案:

答案 0 :(得分:0)

  1. 应为as simple as

    Capabilities.setCapability(io.appium.java_client.remote.MobileCapabilityType.CLEAR_SYSTEM_FILES,true);

  2. 另一个问题可能与platformName capability中的错字有关,应该是Android,而不是Adnroid

  3. 在Selenium和/或Appium测试中最好坚持使用Page Object Model设计模式,这将使您可以将UI表示形式与测试逻辑分开。

  4. 如果上述提示无济于事-请考虑重新启动设备/模拟器。

更多信息:App was not copied, so not deleting