#python-3.x #selenium #mobile #automated-tests
Вопрос:
Я начинаю использовать шаблон проектирования объектов страницы для автоматического тестирования в Selenium на Python.
Я получаю ошибку, которая (как я узнал) означает, что я не закрыл некоторые ресурсы.
C:Users48796PycharmProjectstest_page_mobilevenvlibsite-packagesseleniumwebdriverremoteremote_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()
И, как вы можете видеть, драйвер закрывается методом «демонтажа». Что я делаю не так? 🙁
Ответ №1:
Хорошо, я выяснил, в чем была проблема. Это было важно. Я использовал
from selenium import webdriver
Но для сервера Appium я должен использовать Appium Webdriver
from appium import webdriver
который является частью пакета «Appium-Python-Клиент» (вместо «селен»)