美文网首页
QTA nodename nor servname provid

QTA nodename nor servname provid

作者: 西电大侠 | 来源:发表于2019-01-31 17:19 被阅读2次

1、部署好本地的qta环境,部署远程机器的qta环境,发现报错,具体为

image.png
了解到qti的Q&A里面有解决方法,按照方法试了很多遍,都不行。
后来第二天又直接删除那三个文件,重启,然后执行用例,发现又可以了。

但是后来自己又直接删除那三个文件,重启,执行用例,又不能通过了,这个问题太随机了。

而且考虑到,后期真的用上了这个框架,必须保持100%稳定性。这个问题必须解决,解决不了,也必须换方案。要不然责任担不起啊。

问腾讯测开,他们也没什么好建议。

只能自己去分析,首先查看出错位置

class DeviceResource(object):
    '''设备资源
    '''
    
    def __init__(self, host, port, udid, is_simulator, name, version, csst_uri=None, resource_id=None):
        if host == socket.gethostbyname(socket.gethostname()):  #这行出错
            host = DEFAULT_ADDR
        self._host = host
        self._port = port
        self._udid = udid
        self._name = name
        self._version = version
        if csst_uri:
            self._ws_uri = "ws://%s/proxy/control-%s" % (csst_uri, udid)
        else:
            self._ws_uri = None
        self._driver_url = 'http://%s:%d' % (host, port)
        self._is_sim = is_simulator
        self._resource_id = resource_id

那我就去命令行输出socket.gethostname()和socket.gethostbyname(socket.gethostname())
发现第一个是输出hostname,没什么问题,第二个输出就是错误。那看来找到问题了。就是这个地方有问题。
怎么解决?

腾讯测开说是域名问题,那我首先查看电脑ip。
通过这句可以看到ip ifconfig | grep "inet " | grep -v 127.0.0.1
发现我自己电脑是一个ip,测试机有两台ip

image.png
image.png

向腾讯测开询问了下,知道169是个假的ip地址。刚开始还以为问题在这,但是发现他们的解决方法都是硬件

还是不对,那思路回到出错的语句。于是:
Google搜socket.gethostbyname(socket.gethostname()) gaierror: [Errno 8] nodename nor servname provided, or not known
第一个stock overflow点击去。
看到

image.png
点击这个地址
按照他说的,我先终端输出hostname,然后记下hostname,然后执行ping hostname值,发现确实报错和里面提到的一样,有希望了。于是按照他的步骤操作
I’ve tried the following:
Rebooting.
Switching off the Firewall.
Changing my local hostname, using System Preferences > Sharing > Edit.
sudo killall -HUP mDNSResponder
dscacheutil -flushcache
sudo launchctl unload -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist
sudo launchctl load -w /System/Library/LaunchDaemons/com.apple.mDNSResponder.plist

这样操作之后,执行
ping hostname值,发现报错和之前一样,于是看下面回到,找到一个提示


image.png

于是我把文件分享打开,然后再ping
正常了。完美解决问题。


image.png
image.png

满怀信心的去执行用例,发现它启动了虚拟器ipad,我明明连着手机。


image.png

但是发现手机跳出一个弹框,提示我信任手机。我再次执行,还是调ipad,但是又跳信任弹窗。
第三次我再执行,终于连手机了。

这个问题困扰很久了。后来也是自己分析,这个问题必须解决,不能随机,要不然后面影响太大了。最终解决。

相关文章

网友评论

      本文标题:QTA nodename nor servname provid

      本文链接:https://www.haomeiwen.com/subject/lpqlsqtx.html