Многие объяснения уже присутствуют, чтобы объяснить, как это происходит и как это исправить, но вы также должны следовать рекомендациям, чтобы избежать NullPointerException
вообще.
См. также: A хороший список лучших практик
Я бы добавил, очень важно, хорошо использовать модификатор final
. Использование "окончательной" модификатор, когда это применимо в Java
Сводка:
final
для обеспечения хорошей инициализации. @NotNull
и @Nullable
if("knownObject".equals(unknownObject)
valueOf()
поверх toString (). StringUtils
StringUtils.isEmpty(null)
. Я полагаю, что в каждом методе тестирования вы создаете новый экземпляр webrdiriver (например, driver = webdriver.Chrome()
. Если у вас много тестов, это требует небольших затрат ресурсов. Попробуйте создать методы setUp () и tearDown (), в которых вы готовите и очищайте ваши данные перед каждым тестом.
Так это будет выглядеть так:
import unittest
from selenium import webdriver
class SearchText(unittest.TestCase):
def setUp(self):
# create a new Firefox session
self.driver = webdriver.Firefox()
self.driver.implicitly_wait(30)
self.driver.maximize_window()
# navigate to the application home page
self.driver.get("http://www.google.com/")
def tearDown(self):
# close the browser window
self.driver.quit()