test1
и test2
на самом деле не похожи на тесты ... они выглядят так, как будто они должны быть функциями, которые возвращают данные со страницы, которые используются в тесте.Я бы сделал что-то более похожее на
def get_thing1(self):
return self.browser.find_element_by_xpath("/html/body/div/div[3]/div[1]/div/div/div/div[1]/div[1]/a").text # returns "Gmail"
def get_thing2(self):
return self.browser.find_element_by_xpath("/html/body/div[1]/div[3]/div[1]/div/div/div/div[1]/div[2]/a").text # returns "Images"
def test1(self):
browser = self.browser
browser.get('https://www.google.com/')
print "word from test1 is " + get_thing1(self) + " and word from test2 is " + get_thing2(self)
Эти два метода, get_thing1
и get_thing2
, предполагают, что вы находитесь на правильной странице, и все, что они делают, это возвращают то, что вы ищете.Пожалуйста, измените имена на более описательные ... Я не был уверен, что именно они возвращали, поэтому я придумал какое-то общее имя.
Теперь у вас есть только test1
, который работает, и два метода, которые тянут вещисо страницы.Вы можете запускать test1
столько раз, сколько захотите ... параллельно и т. Д. ... в цикле или как угодно.
Дополнительные примечания:
- Вына самом деле не хочу использовать XPath с таким большим количеством уровней, которые начинаются с тега HTML.Они очень хрупкие (могут сломаться при любом небольшом изменении в HTML).
- Вам нужно некоторое время, чтобы прочитать об объектной модели страницы.Вам следует создать объект страницы GoogleSearchResultsPage, и в этом объекте страницы должны быть
get_thing1()
и get_thing2()
.После проверки вы перейдете из GoogleSearchPage в GoogleSearchResultsPage и затем вызовете эти два метода и т. Д., Чтобы получить данные со страницы.