首页 文章

找不到启动Safari的按钮 . 确保您使用的是appium正在使用的最新版SafariLauncher

提问于
浏览
0

我正在使用Appium在iOS设备(iPhone 6Plus)上的safari浏览器上启动Google.com . 当我在模拟器上运行它并且能够在safari浏览器上打开Google.com时,此代码运行正常但是当相同的代码在设备上运行时,会遇到以下错误

A new session could not be created. (Original error: Error. Could not find button to launch Safari. Make sure you are using the latest version of SafariLauncher that appium is using) (WARNING: The server did not provide any stacktrace information).

我正在使用以下软件 -

  • Appium:1.4.13

  • Mac:OSX Yosemite 10.10.5

  • Eclispe:火星(4.5.0)

  • Xcode:7.2

  • 设备:iPhone 6 Plus

下面是代码

public class Josef {

WebDriver wd;  

 @BeforeTest  
 public void beforeTest() throws MalformedURLException { 
  DesiredCapabilities capabilities = new DesiredCapabilities();  
  capabilities.setCapability("deviceName", "DEVICE_NAME");  
  capabilities.setCapability("udid", "DEVICE_UDID");
  capabilities.setCapability("platformName", "iOS");  
  capabilities.setCapability("platformVersion", "9.0");  
  capabilities.setCapability("autoAcceptAlerts", true); 
  capabilities.setCapability("app", "com.test.safarilauncher");
  capabilities.setCapability(CapabilityType.BROWSER_NAME, "safari");  
  wd = new IOSDriver(new URL("http://127.0.0.1:4723/wd/hub"), capabilities);//instantiate driver  
  wd.manage().timeouts().implicitlyWait( 30,TimeUnit.SECONDS);  
 }  

 @Test  
 public void testSearchPage() throws InterruptedException {  
  wd.get("https://www.google.co.in");  
  WebElement serachField = wd.findElement(By.name("q"));  
  serachField.sendKeys("youtube");  
  serachField.sendKeys(Keys.ENTER);  
  System.out.println(wd.getCurrentUrl());  
 }  

 @AfterTest  
 public void afterTest() {  
  //wd.close();  
 } }

我还对设备进行了以下更改

  • 启用设置 - >高级 - > Web检查器

  • 启用Developer-> UI Automation

我还将ios_webkit_debug_proxy和Running命令安装到ios_webkit_debug_proxy -d设备的UDID:27753以连接设备 .

EDIT1

正如利亚姆所建议但我无法成功运行该命令 . 运行执行时我得到的错误低于此值 .

$ ./reset.sh --ios --real-safari 确定平台平台是mac ----重置/初始化Appium ----重置NPM 安装新的或更新的NPM模块(包括devDeps)重置通用没有要做的,不是git repo RESETTING IOS

警告:您似乎没有激活iOS7 / 8 SDK

将iOS配置设置为Appium的版本---- FAILURE:reset.sh退出状态1 ----使用--verbose重试以查看错误----

2 回答

  • 0

    我遇到了这个问题 . 我解决它的方法是手动部署SafariLauncher .

    • git clone https://github.com/budhash/SafariLauncher .

    • 然后在xcode中打开它并对其进行代码签名 .

    • 然后将其部署到设备 .

    • 在SafariLauncher项目中运行 build.sh .

    • 然后将SafariLauncher.zip移动到appium / build / SafariLauncher,无论您的计算机上是什么 .

    • 然后运行 ./reset.sh --ios --real-safari .

    很确定这不是预期的方法,但它是我做的,我可以验证它的工作原理 .

    此外,正如econoMichael所说,使用 "browserName", "safari" 而不是 "app", "safariLauncher" .

    希望这可以帮助,

    利亚姆

  • 1

    请删除该功能

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

    并使用应用路径更新功能

    capabilities.setCapability("app", Your Safari launcher app path);
    

相关问题