JavaAppium4.0[IOS_Hybridapp]

Java结合TestNG单元测试框架,实现移动端ios_hybridapp测试【源码】

/*
 * @FileName Test_iOS_HybridApp:
 * @author davieyang
 * @create 2018-11-22 14:18
 */
package testscript;
import io.appium.java_client.ios.IOSDriver;
import io.appium.java_client.remote.MobileCapabilityType;
import java.io.File;
import java.net.MalformedURLException;
import java.net.URL;
import java.util.Set;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.remote.DesiredCapabilities;
import org.testng.annotations.AfterClass;
import org.testng.annotations.BeforeClass;
import org.testng.annotations.Test;

public class Test_iOS_HybridApp {
    IOSDriver driver;
    @BeforeClass
    public void setUp() throws MalformedURLException{
        DesiredCapabilities caps = new DesiredCapabilities();
        File app=new File("/Users/mhans/appium/ios/WebViewApp.app");
        caps.setCapability(MobileCapabilityType.APP,app);
        caps.setCapability(MobileCapabilityType.PLATFORM_VERSION, "8.1");
        caps.setCapability(MobileCapabilityType.PLATFORM_NAME, "iOS");
        caps.setCapability(MobileCapabilityType.DEVICE_NAME,"iPad");
        caps.setCapability("udid","Real Device Identifier");
        driver = new IOSDriver (new URL("http://127.0.0.1:4723/wd/hub"), caps);
        driver.manage().timeouts().implicitlyWait(30,TimeUnit.SECONDS);
    }
    @Test
    public void testExample(){
        WebElement editBox=driver.findElement(By.className("UIATextField"));
        editBox.sendKeys("https://www.google.com");
        WebElement goButton=driver.findElement(By.name("Go"));
        goButton.click();
        Set<String> contexts = driver.getContextHandles();
        for (String context : contexts) {
            System.out.println(context); //it will print NATIVE_APP \n WEBVIEW_com.example.testapp
        }
        driver.context((String) contexts.toArray()[1]);
        WebElement images=driver.findElement(By.linkText("Images"));
        images.click();
    }
    @AfterClass
    public void tearDown(){
        driver.closeApp();
    }
}
发布了207 篇原创文章 · 获赞 124 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/dawei_yang000000/article/details/104786072