关闭的驱动程序对象上的 ResourceWarning
ResourceWarning on closed driver object
我开始在 Python.
中使用页面对象设计模式在 Selenium 中进行自动化测试
我遇到一个错误(据我所知),我没有关闭某些资源。
C:\Users796\PycharmProjects\test_page_mobile\venv\lib\site-packages\selenium\webdriver\remote\remote_connection.py:374: ResourceWarning: unclosed <socket.socket fd=512, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('127.0.0.1', 55580), raddr=('127.0.0.1', 4723)>
return self._request(command_info[0], url, body=data)
ResourceWarning: Enable tracemalloc to get the object allocation traceback
我真的不明白为什么这个代码连续出现四次:
import unittest
from selenium import webdriver
from src.Pages.MainPage import MainPage
class Test001(unittest.TestCase):
def setUp(self):
desired_capabilities = {
"platformName": "Android",
"platformVersion": "11",
"deviceName": "emulator-5554", # cmd -> adb devices
"browserName": "Chrome"
}
self.driver = webdriver.Remote("http://localhost:4723/wd/hub", desired_capabilities)
def test_print_title(self):
main_page = MainPage(self.driver)
print(main_page.get_title())
def tearDown(self):
self.driver.close()
if __name__ == '__main__':
unittest.main()
如您所见,驱动程序正在“拆卸”方法中关闭。我做错了什么? :(
好的,我发现了问题所在。这是进口的。我用了
from selenium import webdriver
但对于 Appium 服务器,我应该使用 Appium Webdriver
from appium import webdriver
它是“Appium-Python-Client”包的一部分(而不是“selenium”)
我开始在 Python.
中使用页面对象设计模式在 Selenium 中进行自动化测试 我遇到一个错误(据我所知),我没有关闭某些资源。
C:\Users796\PycharmProjects\test_page_mobile\venv\lib\site-packages\selenium\webdriver\remote\remote_connection.py:374: ResourceWarning: unclosed <socket.socket fd=512, family=AddressFamily.AF_INET, type=SocketKind.SOCK_STREAM, proto=0, laddr=('127.0.0.1', 55580), raddr=('127.0.0.1', 4723)>
return self._request(command_info[0], url, body=data)
ResourceWarning: Enable tracemalloc to get the object allocation traceback
我真的不明白为什么这个代码连续出现四次:
import unittest
from selenium import webdriver
from src.Pages.MainPage import MainPage
class Test001(unittest.TestCase):
def setUp(self):
desired_capabilities = {
"platformName": "Android",
"platformVersion": "11",
"deviceName": "emulator-5554", # cmd -> adb devices
"browserName": "Chrome"
}
self.driver = webdriver.Remote("http://localhost:4723/wd/hub", desired_capabilities)
def test_print_title(self):
main_page = MainPage(self.driver)
print(main_page.get_title())
def tearDown(self):
self.driver.close()
if __name__ == '__main__':
unittest.main()
如您所见,驱动程序正在“拆卸”方法中关闭。我做错了什么? :(
好的,我发现了问题所在。这是进口的。我用了
from selenium import webdriver
但对于 Appium 服务器,我应该使用 Appium Webdriver
from appium import webdriver
它是“Appium-Python-Client”包的一部分(而不是“selenium”)