2017-09-14 2 views
0

Je suis coincé avec une application de jeu où l'appium retourne 200 code de statut pour un clic de spin (aucun des clics sur la page de jeu fonctionne si appium renvoie 200 code) mais le clic n'est pas effectué sur l'appareil. C'est une application web et j'utilise le vrai périphérique. Toute aide serait grandement appréciée.appium renvoie 200 code d'état mais le clic n'est pas effectué sur l'appareil

J'ai essayé d'utiliser des attentes implicites et explicites, attendez en utilisant Thread, Javascript, cliquez sur les coordonnées, mais pas de chance.

J'utilise le code ci-dessous:

public class AndriodDriver { 

AndroidDriver<WebElement> driver; 

@Test 
public void testFirstCalculator() throws IOException, InterruptedException { 
    DesiredCapabilities capabilities = new DesiredCapabilities(); 
    capabilities = new DesiredCapabilities(); 
    capabilities.setCapability("deviceName", "Samsung Galaxy S7"); 
    capabilities.setCapability("platformName", "Android"); 
    capabilities.setCapability(CapabilityType.BROWSER_NAME, "Chrome"); 
    capabilities.setCapability("platformVersion", "7.0"); 


    driver = new AndroidDriver<WebElement>(new 
    URL("http://0.0.0.0:4723/wd/hub"), capabilities); 
    driver.manage().timeouts().implicitlyWait(5, TimeUnit.SECONDS); 

    driver.get("https://pa03-mob.wi-gameserver.com/resource-service/test- 
    lobby/index.html"); 
    driver.manage().timeouts().implicitlyWait(200, TimeUnit.SECONDS); 
    System.out.println("main url"); 

    driver.findElement(By.xpath(".//*[@id='Open Lobby with debug properties']")).click(); 
    System.out.println("lobby opened"); 

    driver.findElement(By.xpath(".//*[@id='brucelee']")).click(); 
    System.out.println("game loading"); 


    WebDriverWait wait= new WebDriverWait(driver, 30); 
    //wait.until(ExpectedConditions.visibilityOfElementLocated(By.xpath(".//* 
    [@id='spin-button']"))); 
    Thread.sleep(3500); 
    driver.findElementByXPath(".//*[@id='spin-button']").click(); 

} 
} 

Répondre

0

Première étape: S'il vous plaît ajouter la capacité suivante:

 cap.setCapability("automationName","MyTest"); 

Deuxième étape:

 Please replace the line : 

     capabilities.setCapability(CapabilityType.BROWSER_NAME, "Chrome"); 

     by this: 
     cap.setCapability("browserName","Chrome"); 
+0

J'ai essayé d'ajouter automatonName, mais l'appium jette en dessous des erreurs: [Andr oidDriver] Version AndroidDriver: 1.20.0 [BaseDriver] SessionNotCreatedError: Une nouvelle session n'a pas pu être créée. Détails: L'objet desiredCapabilities n'était pas valide pour la raison suivante: automationName MyTest ne fait pas partie de Appium, Selendroid, UiAutomator2, XCUITest, YouiEngine, à AndroidDriver.validateDesiredCaps à AndroidDriver.validateDesiredCaps (C: \ Users \ name \ AppData \ Local \ Programmes \ appium-desktop \ ressources \ app \ modules_modules \ appium \ modules_modules \ appium-base-driver \ lib \ basedriver \ driver.js: 155: 25) – user3134