使用APPIUM + java 操作真机报下面的错误!
错误详情:
错误:
配置
代码
<span class="kn" style="color: rgb(170, 34, 255); font-weight: bold;">package</span> <span class="n">ios</span><span class="o" style="color: rgb(102, 102, 102);">;</span>
<span class="kn" style="color: rgb(170, 34, 255); font-weight: bold;">import</span> <span class="nn" style="color: rgb(0, 0, 255); font-weight: bold;">static</span> <span class="n">org</span><span class="o" style="color: rgb(102, 102, 102);">.</span><span class="na" style="color: rgb(187, 68, 68);">junit</span><span class="o" style="color: rgb(102, 102, 102);">.</span><span class="na" style="color: rgb(187, 68, 68);">Assert</span><span class="o" style="color: rgb(102, 102, 102);">.*;</span>
<span class="kn" style="color: rgb(170, 34, 255); font-weight: bold;">import</span> <span class="nn" style="color: rgb(0, 0, 255); font-weight: bold;">io.appium.java_client.remote.MobileCapabilityType</span><span class="o" style="color: rgb(102, 102, 102);">;</span>
<span class="kn" style="color: rgb(170, 34, 255); font-weight: bold;">import</span> <span class="nn" style="color: rgb(0, 0, 255); font-weight: bold;">java.io.File</span><span class="o" style="color: rgb(102, 102, 102);">;</span>
<span class="kn" style="color: rgb(170, 34, 255); font-weight: bold;">import</span> <span class="nn" style="color: rgb(0, 0, 255); font-weight: bold;">java.net.URL</span><span class="o" style="color: rgb(102, 102, 102);">;</span>
<span class="kn" style="color: rgb(170, 34, 255); font-weight: bold;">import</span> <span class="nn" style="color: rgb(0, 0, 255); font-weight: bold;">org.junit.Before</span><span class="o" style="color: rgb(102, 102, 102);">;</span>
<span class="kn" style="color: rgb(170, 34, 255); font-weight: bold;">import</span> <span class="nn" style="color: rgb(0, 0, 255); font-weight: bold;">org.junit.Test</span><span class="o" style="color: rgb(102, 102, 102);">;</span>
<span class="kn" style="color: rgb(170, 34, 255); font-weight: bold;">import</span> <span class="nn" style="color: rgb(0, 0, 255); font-weight: bold;">org.openqa.selenium.By</span><span class="o" style="color: rgb(102, 102, 102);">;</span>
<span class="kn" style="color: rgb(170, 34, 255); font-weight: bold;">import</span> <span class="nn" style="color: rgb(0, 0, 255); font-weight: bold;">org.openqa.selenium.WebDriver</span><span class="o" style="color: rgb(102, 102, 102);">;</span>
<span class="kn" style="color: rgb(170, 34, 255); font-weight: bold;">import</span> <span class="nn" style="color: rgb(0, 0, 255); font-weight: bold;">org.openqa.selenium.WebElement</span><span class="o" style="color: rgb(102, 102, 102);">;</span>
<span class="kn" style="color: rgb(170, 34, 255); font-weight: bold;">import</span> <span class="nn" style="color: rgb(0, 0, 255); font-weight: bold;">org.openqa.selenium.remote.CapabilityType</span><span class="o" style="color: rgb(102, 102, 102);">;</span>
<span class="kn" style="color: rgb(170, 34, 255); font-weight: bold;">import</span> <span class="nn" style="color: rgb(0, 0, 255); font-weight: bold;">org.openqa.selenium.remote.DesiredCapabilities</span><span class="o" style="color: rgb(102, 102, 102);">;</span>
<span class="kn" style="color: rgb(170, 34, 255); font-weight: bold;">import</span> <span class="nn" style="color: rgb(0, 0, 255); font-weight: bold;">org.openqa.selenium.remote.RemoteWebDriver</span><span class="o" style="color: rgb(102, 102, 102);">;</span>
<span class="kd" style="color: rgb(170, 34, 255); font-weight: bold;">public</span> <span class="kd" style="color: rgb(170, 34, 255); font-weight: bold;">class</span> <span class="nc" style="color: blue;">CASE</span> <span class="o" style="color: rgb(102, 102, 102);">{</span>
<span class="n">WebDriver</span> <span class="n">driver</span><span class="o" style="color: rgb(102, 102, 102);">;</span>
<span class="nd" style="color: rgb(170, 34, 255);">@Before</span>
<span class="kd" style="color: rgb(170, 34, 255); font-weight: bold;">public</span> <span class="kt" style="color: rgb(0, 187, 0); font-weight: bold;">void</span> <span class="n">setUp</span><span class="o" style="color: rgb(102, 102, 102);">()</span> <span class="kd" style="color: rgb(170, 34, 255); font-weight: bold;">throws</span> <span class="n">Exception</span> <span class="o" style="color: rgb(102, 102, 102);">{</span>
<span class="c1" style="color: rgb(0, 136, 0); font-style: italic;">// set up appium</span>
<span class="c1" style="color: rgb(0, 136, 0); font-style: italic;">// File appDir = new File(System.getProperty("github/local/AppiumTest/sample-code/apps/TestApp/Products");</span>
<span class="n">DesiredCapabilities</span> <span class="n">capabilities</span> <span class="o" style="color: rgb(102, 102, 102);">=</span> <span class="k" style="color: rgb(170, 34, 255); font-weight: bold;">new</span> <span class="n">DesiredCapabilities</span><span class="o" style="color: rgb(102, 102, 102);">();</span>
<span class="c1" style="color: rgb(0, 136, 0); font-style: italic;">// capabilities.setCapability("device", "iPhone Simulator");</span>
<span class="c1" style="color: rgb(0, 136, 0); font-style: italic;">//capabilities.setCapability(CapabilityType.BROWSER_NAME,"iOS");</span>
<span class="n">capabilities</span><span class="o" style="color: rgb(102, 102, 102);">.</span><span class="na" style="color: rgb(187, 68, 68);">setCapability</span><span class="o" style="color: rgb(102, 102, 102);">(</span><span class="n">CapabilityType</span><span class="o" style="color: rgb(102, 102, 102);">.</span><span class="na" style="color: rgb(187, 68, 68);">VERSION</span><span class="o" style="color: rgb(102, 102, 102);">,</span><span class="s" style="color: rgb(187, 68, 68);">"7.1"</span><span class="o" style="color: rgb(102, 102, 102);">);</span>
<span class="n">capabilities</span><span class="o" style="color: rgb(102, 102, 102);">.</span><span class="na" style="color: rgb(187, 68, 68);">setCapability</span><span class="o" style="color: rgb(102, 102, 102);">(</span><span class="n">CapabilityType</span><span class="o" style="color: rgb(102, 102, 102);">.</span><span class="na" style="color: rgb(187, 68, 68);">PLATFORM</span><span class="o" style="color: rgb(102, 102, 102);">,</span><span class="s" style="color: rgb(187, 68, 68);">"Mac"</span><span class="o" style="color: rgb(102, 102, 102);">);</span>
<span class="n">capabilities</span><span class="o" style="color: rgb(102, 102, 102);">.</span><span class="na" style="color: rgb(187, 68, 68);">setCapability</span><span class="o" style="color: rgb(102, 102, 102);">(</span><span class="n">CapabilityType</span><span class="o" style="color: rgb(102, 102, 102);">.</span><span class="na" style="color: rgb(187, 68, 68);">ACCEPT_SSL_CERTS</span><span class="o" style="color: rgb(102, 102, 102);">,</span> <span class="kc" style="color: rgb(170, 34, 255); font-weight: bold;">true</span><span class="o" style="color: rgb(102, 102, 102);">);</span>
<span class="n">capabilities</span><span class="o" style="color: rgb(102, 102, 102);">.</span><span class="na" style="color: rgb(187, 68, 68);">setCapability</span><span class="o" style="color: rgb(102, 102, 102);">(</span><span class="s" style="color: rgb(187, 68, 68);">"deviceName"</span><span class="o" style="color: rgb(102, 102, 102);">,</span> <span class="s" style="color: rgb(187, 68, 68);">"pohoto"</span><span class="o" style="color: rgb(102, 102, 102);">);</span>
<span class="n">capabilities</span><span class="o" style="color: rgb(102, 102, 102);">.</span><span class="na" style="color: rgb(187, 68, 68);">setCapability</span><span class="o" style="color: rgb(102, 102, 102);">(</span><span class="s" style="color: rgb(187, 68, 68);">"platformName"</span><span class="o" style="color: rgb(102, 102, 102);">,</span> <span class="s" style="color: rgb(187, 68, 68);">"ios"</span><span class="o" style="color: rgb(102, 102, 102);">);</span>
<span class="n">capabilities</span><span class="o" style="color: rgb(102, 102, 102);">.</span><span class="na" style="color: rgb(187, 68, 68);">setCapability</span><span class="o" style="color: rgb(102, 102, 102);">(</span><span class="n">MobileCapabilityType</span><span class="o" style="color: rgb(102, 102, 102);">.</span><span class="na" style="color: rgb(187, 68, 68);">APP</span><span class="o" style="color: rgb(102, 102, 102);">,</span><span class="s" style="color: rgb(187, 68, 68);">"com.yiguo.YiGuoApp"</span><span class="o" style="color: rgb(102, 102, 102);">);</span>
<span class="n">driver</span> <span class="o" style="color: rgb(102, 102, 102);">=</span> <span class="k" style="color: rgb(170, 34, 255); font-weight: bold;">new</span> <span class="n">RemoteWebDriver</span><span class="o" style="color: rgb(102, 102, 102);">(</span><span class="k" style="color: rgb(170, 34, 255); font-weight: bold;">new</span> <span class="n">URL</span><span class="o" style="color: rgb(102, 102, 102);">(</span><span class="s" style="color: rgb(187, 68, 68);">"http://0.0.0.0:4723/wd/hub"</span><span class="o" style="color: rgb(102, 102, 102);">),</span><span class="n">capabilities</span><span class="o" style="color: rgb(102, 102, 102);">);</span>
<span class="o" style="color: rgb(102, 102, 102);">}</span>
<span class="nd" style="color: rgb(170, 34, 255);">@Test</span>
<span class="kd" style="color: rgb(170, 34, 255); font-weight: bold;">public</span> <span class="kt" style="color: rgb(0, 187, 0); font-weight: bold;">void</span> <span class="n">example</span><span class="o" style="color: rgb(102, 102, 102);">()</span> <span class="kd" style="color: rgb(170, 34, 255); font-weight: bold;">throws</span> <span class="n">Exception</span> <span class="o" style="color: rgb(102, 102, 102);">{</span>
<span class="c1" style="color: rgb(0, 136, 0); font-style: italic;">// find an element by tag name</span>
<span class="n">WebElement</span> <span class="n">button</span> <span class="o" style="color: rgb(102, 102, 102);">=</span> <span class="n">driver</span><span class="o" style="color: rgb(102, 102, 102);">.</span><span class="na" style="color: rgb(187, 68, 68);">findElement</span><span class="o" style="color: rgb(102, 102, 102);">(</span><span class="n">By</span><span class="o" style="color: rgb(102, 102, 102);">.</span><span class="na" style="color: rgb(187, 68, 68);">tagName</span><span class="o" style="color: rgb(102, 102, 102);">(</span><span class="s" style="color: rgb(187, 68, 68);">"button"</span><span class="o" style="color: rgb(102, 102, 102);">));</span>
<span class="n">button</span><span class="o" style="color: rgb(102, 102, 102);">.</span><span class="na" style="color: rgb(187, 68, 68);">click</span><span class="o" style="color: rgb(102, 102, 102);">();</span>
<span class="c1" style="color: rgb(0, 136, 0); font-style: italic;">// get the value of the element</span>
<span class="n">WebElement</span> <span class="n">texts</span> <span class="o" style="color: rgb(102, 102, 102);">=</span> <span class="n">driver</span><span class="o" style="color: rgb(102, 102, 102);">.</span><span class="na" style="color: rgb(187, 68, 68);">findElement</span><span class="o" style="color: rgb(102, 102, 102);">(</span><span class="n">By</span><span class="o" style="color: rgb(102, 102, 102);">.</span><span class="na" style="color: rgb(187, 68, 68);">tagName</span><span class="o" style="color: rgb(102, 102, 102);">(</span><span class="s" style="color: rgb(187, 68, 68);">"staticText"</span><span class="o" style="color: rgb(102, 102, 102);">));</span>
<span class="n">assertEquals</span><span class="o" style="color: rgb(102, 102, 102);">(</span><span class="n">texts</span><span class="o" style="color: rgb(102, 102, 102);">.</span><span class="na" style="color: rgb(187, 68, 68);">getText</span><span class="o" style="color: rgb(102, 102, 102);">(),</span> <span class="s" style="color: rgb(187, 68, 68);">"some expected value"</span><span class="o" style="color: rgb(102, 102, 102);">);</span>
<span class="o" style="color: rgb(102, 102, 102);">}</span>
<span class="o" style="color: rgb(102, 102, 102);">}</span>
APPium 报错打印日志
Last login: Thu Jan 29 15:20:12 on ttys000 liyudeMac-mini:~ admin<span class="nv" style="color: rgb(184, 134, 11);">$ </span>appium -U 728CD07EF9A84DFEB0C04CC20D02A68D3162CD8E --app com.yiguo.YiGuoApp info: Welcome to Appium v1.3.4 <span class="o" style="color: rgb(102, 102, 102);">(</span>REV c8c79a85fbd6870cd6fc3d66d038a115ebe22efe<span class="o" style="color: rgb(102, 102, 102);">)</span> info: Appium REST http interface listener started on 0.0.0.0:4723 info: <span class="o" style="color: rgb(102, 102, 102);">[</span>debug] Non-default server args: <span class="o" style="color: rgb(102, 102, 102);">{</span><span class="s2" style="color: rgb(187, 68, 68);">"app"</span>:<span class="s2" style="color: rgb(187, 68, 68);">"com.yiguo.YiGuoApp"</span>,<span class="s2" style="color: rgb(187, 68, 68);">"udid"</span>:<span class="s2" style="color: rgb(187, 68, 68);">"728CD07EF9A84DFEB0C04CC20D02A68D3162CD8E"</span><span class="o" style="color: rgb(102, 102, 102);">}</span> info: Console LogLevel: debug info: --> POST /wd/hub/session <span class="o" style="color: rgb(102, 102, 102);">{</span><span class="s2" style="color: rgb(187, 68, 68);">"desiredCapabilities"</span>:<span class="o" style="color: rgb(102, 102, 102);">{</span><span class="s2" style="color: rgb(187, 68, 68);">"app"</span>:<span class="s2" style="color: rgb(187, 68, 68);">"io.appium.TestApp"</span>,<span class="s2" style="color: rgb(187, 68, 68);">"platformVersion"</span>:<span class="s2" style="color: rgb(187, 68, 68);">"7.1"</span>,<span class="s2" style="color: rgb(187, 68, 68);">"browserName"</span>:<span class="s2" style="color: rgb(187, 68, 68);">""</span>,<span class="s2" style="color: rgb(187, 68, 68);">"platformName"</span>:<span class="s2" style="color: rgb(187, 68, 68);">"iOS"</span>,<span class="s2" style="color: rgb(187, 68, 68);">"deviceName"</span>:<span class="s2" style="color: rgb(187, 68, 68);">"iPhone Simulator"</span><span class="o" style="color: rgb(102, 102, 102);">}}</span> info: Client User-Agent string: Apache-HttpClient/4.3.4 <span class="o" style="color: rgb(102, 102, 102);">(</span>java 1.5<span class="o" style="color: rgb(102, 102, 102);">)</span> info: <span class="o" style="color: rgb(102, 102, 102);">[</span>debug] App is an iOS bundle, will attempt to run as pre-existing info: <span class="o" style="color: rgb(102, 102, 102);">[</span>debug] Creating new appium session 9e25c17f-5e62-4cb6-9835-90c4f196fc4e info: <span class="o" style="color: rgb(102, 102, 102);">[</span>debug] Removing any remaining instruments sockets info: <span class="o" style="color: rgb(102, 102, 102);">[</span>debug] Cleaned up instruments socket /tmp/instruments_sock info: <span class="o" style="color: rgb(102, 102, 102);">[</span>debug] Setting Xcode folder info: <span class="o" style="color: rgb(102, 102, 102);">[</span>debug] Setting Xcode version info: <span class="o" style="color: rgb(102, 102, 102);">[</span>debug] Setting iOS SDK Version info: <span class="o" style="color: rgb(102, 102, 102);">[</span>debug] Getting sdk version from xcrun with a timeout info: <span class="o" style="color: rgb(102, 102, 102);">[</span>debug] iOS SDK Version <span class="nb" style="color: rgb(170, 34, 255);">set </span>to 8.1 info: <span class="o" style="color: rgb(102, 102, 102);">[</span>debug] Not checking whether simulator is available since we<span class="s1" style="color: rgb(187, 68, 68);">'re on a real device info: [debug] Detecting automation tracetemplate info: [debug] Not auto-detecting udid, running on sim info: [debug] Could not parse plist file (as binary) at /usr/local/lib/node_modules/appium/io.appium.TestApp/en.lproj/Localizable.strings info: Will try to parse the plist file as XML `parseFileSync()` is deprecated. Use `parseStringSync()` instead. info: [debug] Could not parse plist file (as XML) at /usr/local/lib/node_modules/appium/io.appium.TestApp/en.lproj/Localizable.strings warn: Could not parse app Localizable.strings; assuming it doesn'</span>t exist info: <span class="o" style="color: rgb(102, 102, 102);">[</span>debug] Creating instruments info: On some xcode 6 platforms, instruments-without-delay does not work. If you experience this, you will need to re-run appium with the --native-instruments-lib flag info: <span class="o" style="color: rgb(102, 102, 102);">[</span>debug] Preparing uiauto bootstrap info: <span class="o" style="color: rgb(102, 102, 102);">[</span>debug] Dynamic bootstrap dir: /Users/admin/Library/Application Support/appium/bootstrap info: <span class="o" style="color: rgb(102, 102, 102);">[</span>debug] Dynamic env: <span class="o" style="color: rgb(102, 102, 102);">{</span><span class="s2" style="color: rgb(187, 68, 68);">"nodePath"</span>:<span class="s2" style="color: rgb(187, 68, 68);">"/usr/local/Cellar/node/0.10.35_2/bin/node"</span>,<span class="s2" style="color: rgb(187, 68, 68);">"commandProxyClientPath"</span>:<span class="s2" style="color: rgb(187, 68, 68);">"/usr/local/lib/node_modules/appium/node_modules/appium-uiauto/bin/command-proxy-client.js"</span>,<span class="s2" style="color: rgb(187, 68, 68);">"instrumentsSock"</span>:<span class="s2" style="color: rgb(187, 68, 68);">"/tmp/instruments_sock"</span>,<span class="s2" style="color: rgb(187, 68, 68);">"interKeyDelay"</span>:null,<span class="s2" style="color: rgb(187, 68, 68);">"justLoopInfinitely"</span>:false,<span class="s2" style="color: rgb(187, 68, 68);">"autoAcceptAlerts"</span>:false,<span class="s2" style="color: rgb(187, 68, 68);">"sendKeyStrategy"</span>:<span class="s2" style="color: rgb(187, 68, 68);">"grouped"</span><span class="o" style="color: rgb(102, 102, 102);">}</span> info: <span class="o" style="color: rgb(102, 102, 102);">[</span>debug] Dynamic bootstrap code: // This file is automatically generated. D...ot manually modify! info: <span class="o" style="color: rgb(102, 102, 102);">[</span>debug] Dynamic bootstrap path: /Users/admin/Library/Application Support/appium/bootstrap/bootstrap-c28cdf2cec4fb293.js info: <span class="o" style="color: rgb(102, 102, 102);">[</span>debug] Reusing dynamic bootstrap: /Users/admin/Library/Application Support/appium/bootstrap/bootstrap-c28cdf2cec4fb293.js info: <span class="o" style="color: rgb(102, 102, 102);">[</span>debug] Getting device string from opts: <span class="o" style="color: rgb(102, 102, 102);">{</span><span class="s2" style="color: rgb(187, 68, 68);">"forceIphone"</span>:false,<span class="s2" style="color: rgb(187, 68, 68);">"forceIpad"</span>:false,<span class="s2" style="color: rgb(187, 68, 68);">"xcodeVersion"</span>:<span class="s2" style="color: rgb(187, 68, 68);">"6.1"</span>,<span class="s2" style="color: rgb(187, 68, 68);">"iOSSDKVersion"</span>:<span class="s2" style="color: rgb(187, 68, 68);">"8.1"</span>,<span class="s2" style="color: rgb(187, 68, 68);">"deviceName"</span>:<span class="s2" style="color: rgb(187, 68, 68);">"iPhone Simulator"</span>,<span class="s2" style="color: rgb(187, 68, 68);">"platformVersion"</span>:<span class="s2" style="color: rgb(187, 68, 68);">"7.1"</span><span class="o" style="color: rgb(102, 102, 102);">}</span> info: <span class="o" style="color: rgb(102, 102, 102);">[</span>debug] fixDevice is on info: <span class="o" style="color: rgb(102, 102, 102);">[</span>debug] Fixing device. Changed from: <span class="s2" style="color: rgb(187, 68, 68);">"iPhone Simulator (7.1 Simulator)"</span> to: <span class="s2" style="color: rgb(187, 68, 68);">"iPhone 5s (7.1 Simulator)"</span> info: <span class="o" style="color: rgb(102, 102, 102);">[</span>debug] Final device string is: <span class="s1" style="color: rgb(187, 68, 68);">'iPhone 5s (7.1 Simulator)'</span> info: <span class="o" style="color: rgb(102, 102, 102);">[</span>debug] Not setting device <span class="nb" style="color: rgb(170, 34, 255);">type </span>since we<span class="s1" style="color: rgb(187, 68, 68);">'re on a real device info: [debug] Checking whether we need to set app preferences info: [debug] Not setting iOS and app preferences since we'</span>re on a real device info: <span class="o" style="color: rgb(102, 102, 102);">[</span>debug] Running ios sim reset flow info: <span class="o" style="color: rgb(102, 102, 102);">[</span>debug] Killing the simulator process info: <span class="o" style="color: rgb(102, 102, 102);">[</span>debug] Killall iOS Simulator info: <span class="o" style="color: rgb(102, 102, 102);">[</span>debug] Killing any other simulator daemons info: <span class="o" style="color: rgb(102, 102, 102);">[</span>debug] On a real device; cannot clean device state info: <span class="o" style="color: rgb(102, 102, 102);">[</span>debug] Not setting locale because we<span class="s1" style="color: rgb(187, 68, 68);">'re using a real device info: [debug] No iOS / app preferences to set info: [debug] Starting iOS device log capture via deviceconsole error: Log capture did not start in a reasonable amount of time info: [debug] Cleaning up appium session error: Failed to start an Appium session, err was: Error: Log capture did not start in a reasonable amount of time info: [debug] Error: Log capture did not start in a reasonable amount of time at null._onTimeout (/usr/local/lib/node_modules/appium/lib/devices/ios/ios-log.js:137:10) at Timer.listOnTimeout [as ontimeout] (timers.js:112:15) info: [debug] Responding to client with error: {"status":33,"value":{"message":"A new session could not be created. (Original error: Log capture did not start in a reasonable amount of time)","origValue":"Log capture did not start in a reasonable amount of time"},"sessionId":null} info: <-- POST /wd/hub/session 500 10228.916 ms - 234 info: [debug] Not pre-launching simulator info: [debug] Creating iDevice object with udid 728CD07EF9A84DFEB0C04CC20D02A68D3162CD8E info: [debug] Couldn'</span>t find ideviceinstaller, trying built-in at /usr/local/lib/node_modules/appium/build/libimobiledevice-macosx/ideviceinstaller info: <span class="o" style="color: rgb(102, 102, 102);">[</span>debug] Checking app install status using: /usr/local/lib/node_modules/appium/build/fruitstrap/fruitstrap isInstalled --id 728CD07EF9A84DFEB0C04CC20D02A68D3162CD8E --bundle io.appium.TestApp
解决方案:
1,启动Appium 加上设备UDID 和BUID
2,启动真机代码内的配置内容:
<span class="kd" style="color: rgb(170, 34, 255); font-weight: bold;">public</span> <span class="kt" style="color: rgb(0, 187, 0); font-weight: bold;">void</span> <span class="nf" style="color: rgb(0, 160, 0);">setUp</span><span class="p">(</span><span class="o" style="color: rgb(102, 102, 102);">)</span> <span class="kd" style="color: rgb(170, 34, 255); font-weight: bold;">throws</span> <span class="n">Exception</span> <span class="o" style="color: rgb(102, 102, 102);">{</span>
<span class="c1" style="color: rgb(0, 136, 0); font-style: italic;">// set up appium</span>
<span class="n">DesiredCapabilities</span> <span class="n">capabilities</span> <span class="o" style="color: rgb(102, 102, 102);">=</span> <span class="k" style="color: rgb(170, 34, 255); font-weight: bold;">new</span> <span class="n">DesiredCapabilities</span><span class="o" style="color: rgb(102, 102, 102);">();</span>
<span class="c1" style="color: rgb(0, 136, 0); font-style: italic;">//capabilities.setCapability(CapabilityType.BROWSER_NAME, "ios");</span>
<span class="n">capabilities</span><span class="o" style="color: rgb(102, 102, 102);">.</span><span class="na" style="color: rgb(187, 68, 68);">setCapability</span><span class="o" style="color: rgb(102, 102, 102);">(</span><span class="n">CapabilityType</span><span class="o" style="color: rgb(102, 102, 102);">.</span><span class="na" style="color: rgb(187, 68, 68);">VERSION</span><span class="o" style="color: rgb(102, 102, 102);">,</span> <span class="s" style="color: rgb(187, 68, 68);">"7.1"</span><span class="o" style="color: rgb(102, 102, 102);">);</span>
<span class="n">capabilities</span><span class="o" style="color: rgb(102, 102, 102);">.</span><span class="na" style="color: rgb(187, 68, 68);">setCapability</span><span class="o" style="color: rgb(102, 102, 102);">(</span><span class="n">CapabilityType</span><span class="o" style="color: rgb(102, 102, 102);">.</span><span class="na" style="color: rgb(187, 68, 68);">PLATFORM</span><span class="o" style="color: rgb(102, 102, 102);">,</span> <span class="s" style="color: rgb(187, 68, 68);">"Mac"</span><span class="o" style="color: rgb(102, 102, 102);">);</span>
<span class="c1" style="color: rgb(0, 136, 0); font-style: italic;">//capabilities.setCapability("device", "iPhone Simulator");</span>
<span class="c1" style="color: rgb(0, 136, 0); font-style: italic;">//capabilities.setCapability("app", "safai");</span>
<span class="n">capabilities</span><span class="o" style="color: rgb(102, 102, 102);">.</span><span class="na" style="color: rgb(187, 68, 68);">setCapability</span><span class="o" style="color: rgb(102, 102, 102);">(</span><span class="s" style="color: rgb(187, 68, 68);">"deviceName"</span><span class="o" style="color: rgb(102, 102, 102);">,</span> <span class="s" style="color: rgb(187, 68, 68);">"pohoto"</span><span class="o" style="color: rgb(102, 102, 102);">);</span><span class="c1" style="color: rgb(0, 136, 0); font-style: italic;">//pohoto</span>
<span class="n">capabilities</span><span class="o" style="color: rgb(102, 102, 102);">.</span><span class="na" style="color: rgb(187, 68, 68);">setCapability</span><span class="o" style="color: rgb(102, 102, 102);">(</span><span class="s" style="color: rgb(187, 68, 68);">"platformName"</span><span class="o" style="color: rgb(102, 102, 102);">,</span> <span class="s" style="color: rgb(187, 68, 68);">"ios"</span><span class="o" style="color: rgb(102, 102, 102);">);</span>
<span class="n">driver</span> <span class="o" style="color: rgb(102, 102, 102);">=</span> <span class="k" style="color: rgb(170, 34, 255); font-weight: bold;">new</span> <span class="n">RemoteWebDriver</span><span class="o" style="color: rgb(102, 102, 102);">(</span><span class="k" style="color: rgb(170, 34, 255); font-weight: bold;">new</span> <span class="n">URL</span><span class="o" style="color: rgb(102, 102, 102);">(</span><span class="s" style="color: rgb(187, 68, 68);">"http://0.0.0.0:4723/wd/hub"</span><span class="o" style="color: rgb(102, 102, 102);">),</span> <span class="n">capabilities</span><span class="o" style="color: rgb(102, 102, 102);">);</span>
3,这样就可以启动我们真机上的app了