openatx / facebook-wda

Facebook WebDriverAgent Python Client Library (not official)
MIT License
1.72k stars 266 forks source link

ios绑定bundle_id的问题 #64

Closed fengxiaoyong closed 5 years ago

fengxiaoyong commented 5 years ago

Traceback (most recent call last):   File "atxOTA.py", line 20, in      s = c.session('com.apple.mobilesafari', ['-u', 'https://www.google.com/ncr'])   File "/Users/fengxiaooyong/Library/Python/2.7/lib/python/site-packages/wda/init.py", line 302, in session     res = self.http.post('session', data)   File "/Users/fengxiaooyong/Library/Python/2.7/lib/python/site-packages/wda/init.py", line 107, in fetch     return self._fetch_no_alert(method, url, data)   File "/Users/fengxiaooyong/Library/Python/2.7/lib/python/site-packages/wda/init.py", line 113, in _fetch_no_alert     return httpdo(target_url, method, data)   File "/Users/fengxiaooyong/Library/Python/2.7/lib/python/site-packages/wda/init.py", line 89, in httpdo     raise WDAError(r.status, r.value) wda.WDAError: WDAError(status=13, value='bundleId' desired capability not provided)

我看了webdriver的接口,发现我们传过去的是个json,接口收不到 def httpdo(url, method='GET', data=None): """ Do HTTP Request """ start = time.time() if DEBUG: body = json.dumps(data) print("Shell: curl -X {method} -d '{body}' '{url}'".format(method=method.upper(), body=body or '', url=url))

try:
    print(data)
    response = requests.request(method, url, data=data, timeout=HTTP_TIMEOUT)
except (requests.exceptions.ConnectionError, requests.exceptions.ReadTimeout):
    # retry again
    # print('retry to connect, error: {}'.format(e))

    time.sleep(1.0)
    response = requests.request(method, url, data=data, timeout=HTTP_TIMEOUT)

if DEBUG:
    ms = (time.time() - start) * 1000
    print('Return ({:.0f}ms): {}'.format(ms, response.text))

response = requests.request(method, url, data=data, timeout=HTTP_TIMEOUT) 里面的json参数,改成data就可以正常的工作了

codeskyblue commented 5 years ago

Thanks, fixed in 0.2.4