#26 楼 @tongshanshanshan
没有报错,就是如果返回 webdriver.Chrome(chromedriver) 可以如图匹配 webdriver 的函数,但返回实例时候就没有了,难道是编辑器的问题吗,我用的是 pycharm。
class allDriver():
instance=None
mutex=threading.Lock()
@staticmethod
def getDriver():
if(allDriver.instance==None):
allDriver.mutex.acquire()
if(allDriver.instance==None):
PrintInfo('初始化实例')
chromedriver = "C:\Program Files\Google\Chrome\Application\chromedriver.exe"
os.environ["webdriver.chrome.driver"] = chromedriver
allDriver.instance=webdriver.Chrome(chromedriver)
else:
PrintInfo('单例已经实例化111')
allDriver.mutex.release()
else:
PrintInfo('单例已经实例化222')
return allDriver.instance
不好意思,之前那个有点乱,重新编辑了下。
#22 楼 @tongshanshanshan
class allDriver():
instance=None
mutex=threading.Lock()
@staticmethod
def getDriver():
if(allDriver.instance==None):
allDriver.mutex.acquire()
if(allDriver.instance==None):
PrintInfo('初始化实例')
chromedriver = "C:\Program Files\Google\Chrome\Application\chromedriver.exe"
os.environ["webdriver.chrome.driver"] = chromedriver
allDriver.instance=webdriver.Chrome(chromedriver)
else:
PrintInfo('单例已经实例化 111')
allDriver.mutex.release()
else:
PrintInfo('单例已经实例化 222')
return allDriver.instance
我用 selenium 中写了个,返回实例的,效果达到了,不过返回是实例,在 element 类中无法匹配 webdriver 的函数(不知道这样说你能否理解),请指教。
#22 楼 @tongshanshanshan 好的,我应该明白了,多谢了!这种文章太好了,appium 的能写的这么详细的确实很少,而且还是 python 的,得到了很多参考。
#20 楼 @tongshanshanshan python 水平有限,单例百度了下还是不太明白,想问下,GetDriver() 这个返回的是什么?我自己写了个 driver 函数,调用时候又重连了次 app,导致 session 冲突。
你好,class element 这个类调用驱动( myDriver.GetDriver())的能说详细点吗,我之前是带入驱动,那样会很麻烦,而且多一个参数,在用例那看着很不美观。