TestComplete 9 & Outlook 2013
2013-10-08 11:37
Всем привет!
Вчера начал разбираться с таким прекрасным инструментом как TestComplete 9 (Windows 8) и сразу же столкнулся с проблемой - чтобы перейти в календарь, я кликаю на календарь, TestComplete переходит туда, все записывает, воспроизводит, НО переход производится по координатам, имя этому контролу дает AwesomeBar. Прикрепляю скрин.
Помогите как обойти эту штуку и нормально прикрепить объект к тесту.
Автоматизация тестирования. Заветная страна, сказочный рай. Мечта многих менеджеров -- автоматизировать все тесты, чтобы... Чтобы что? Можно ли добраться до этой цели, и что случается с теми, кто её достиг?
Автоматизация тестирования позволяет часть работ по тестированию переложить с тестировщиков-людей на плечи роботов-компьютеров. Но как любая другая другая автоматизация она не всегда оправдана с экономической точки зрения. Требуются вложения сил и средств, требуются специалисты особой квалификации, требуется особая программно-аппаратная база. Будут ли эти вложения оправданы? Какие выгоды принесет автоматизация?
Хотите узнать:
какие виды тестирования хорошо поддаются автоматизации, а какие плохо?
следует ли автоматизировать регрессионное тестирование?
можно ли автоматизировать тестирование методом свободного поиска?
как организовать ручное и автоматизированное тестирование, чтобы они не дублировали, а дополняли друг друга?
каковы особенности проектирования тестов для автоматизации?
впишется ли автоматизация в ваши процессы и методы разработки?
как выбирать инструменты для автоматизации тестов?
насколько можно доверять автоматизированным тестам, не будут ли они пропускать ошибки?
какие специалисты потребуются для разработки автоматизированных тестов?
сколько времени займет этап внедрения автоматизации и когда она начнет приносить выгоды?
нужно ли что-то специально дорабатывать в тестируемом приложении, чтобы тесты можно было автоматизировать?
Приходите на тренинг Алексея Баранцева, где мы обсудим эти и многие другие вопросы, касающиеся автоматизации тестирования.
"Я не буду обещать золотые горы в качестве результата внедрения автоматизации, как это делают производители инструментов на рекламных семинарах," - говорит Алексей, - "Но и не буду отговаривать вас от внедрения автоматизации, пугая низкой эффективностью, долгим сроком окупаемости и высокими рисками. Я уверен в том, что эти страхи преувеличены. Автоматизацию можно внедрять постепенно, начиная получать от нее выгоду практически немедленно. Важно найти грань, которую не следует переступать, иначе автоматизация из полезного инструмента превратится в обузу. Как понять, где пролегает эта грань? Для этого нужно очень хорошо понимать пределы возможностей современных инструментов-роботов, применяемых для автоматизации".
Тренинг предназначен для руководителей проектов, руководителей групп тестирования, специалистов, ответственных за внедрение и развитие автоматизированного тестирования, тестировщиков-автоматизаторов.
На этом тренинге не предполагается демонстрация инструментов автоматизации тестирования или обучение конкретным приемам и техникам создания автоматизированных тестов.
Целью тренинга является формирование у слушателей понимания того, в каких ситуациях автоматизация тестирования применима, какие возможны проблемы при внедрении автоматизированного тестирования и какими способами можно их преодолеть.
Проблема с логином и www
2013-10-08 15:05
Проблема следующая - хотел апнуть тему - http://www.software-testing.ru/forum/index.php?/topic/18928/ (на неё пришёл с поисковика), так как столкнулся с аналогичной проблемой. Однако, обнаруживаю, что я не залогинен (что показалось мне довольно странным, так как в соседней вкладке открыта другая страница форума и там я вполне себе залогинен). Ну ладно, нажимаю Вход-> ввожу логин/пароль -> меня перенаправляет на соответствующую страницу. И что я вижу? Правильно, я не залогинен.
Стал разбираться, в чём проблема - всё оказалось довольно просто. "http://software-testing.ru/forum"!="http:www.software-testing.ru/forum". Если на любой странице форума в адресе дописать "www." - вас тут же разлогинит, любой желающий может проверить. При навигации по форуму проблема не наблюдается, а вот при переходе с поисковика - всплыла.
Selenium+Python проблема
2013-10-08 16:55
Привет! Есть скрипт, который выполняет авторизацию на сайте и далее проходя по паре ссылок добавляет на него инфу. Проблема в том, что после авторизации скрипт сыпется с ошибкой:
ERROR: test_i_s (__main__.IS)
----------------------------------------------------------------------
Traceback (most recent call last):
File "C:\Users\Алексей\Documents\IS.py", line 27, in test_i_s
driver.find_element_by_xpath("//div[@id='zz3_TopNavigationMenuV4']/div/ul/li[2]/a/span/span").click()
File "C:\Python33\lib\site-packages\selenium-2.35.0-py3.3.egg\selenium\webdriver\remote\webdriver.py", line 222, in find_element_by_xpath
return self.find_element(by=By.XPATH, value=xpath)
File "C:\Python33\lib\site-packages\selenium-2.35.0-py3.3.egg\selenium\webdriver\remote\webdriver.py", line 680, in find_element
{'using': by, 'value': value})['value']
File "C:\Python33\lib\site-packages\selenium-2.35.0-py3.3.egg\selenium\webdriver\remote\webdriver.py", line 165, in execute
self.error_handler.check_response(response)
File "C:\Python33\lib\site-packages\selenium-2.35.0-py3.3.egg\selenium\webdriver\remote\errorhandler.py", line 164, in check_response
raise exception_class(message, screen, stacktrace)
selenium.common.exceptions.WebDriverException: Message: '\'[JavaScript Error: "a is null" {file: "file:///c:/users/cd86~1/appdata/local/temp/tmpqanx6z/extensions/fxdriver@googlecode.com/components/command_processor.js" line: 8172}]\' when calling method: [nsICommandProcessor::execute]'
----------------------------------------------------------------------
Ran 1 test in 24.535s
FAILED (errors=1)
Traceback (most recent call last):
File "C:\Users\Алексей\Documents\IS.py", line 114, in <module>
unittest.main()
File "C:\Python33\lib\unittest\main.py", line 125, in __init__
self.runTests()
File "C:\Python33\lib\unittest\main.py", line 267, in runTests
sys.exit(not self.result.wasSuccessful())
SystemExit: True
Кусок кода приведен ниже:
from selenium import webdriver
from selenium.webdriver.common.by import By
from selenium.webdriver.common.keys import Keys
from selenium.webdriver.support.ui import Select
from selenium.common.exceptions import NoSuchElementException
import unittest, time, re
class IS(unittest.TestCase):
def setUp(self):
self.driver = webdriver.Firefox()
self.driver.implicitly_wait(30)
self.base_url = "http://nsi.gosuslugi.ru/"
self.verificationErrors = []
self.accept_next_alert = True
def test_i_s(self):
driver = self.driver
driver.get(self.base_url + "/_layouts/NsiInfrastructure/WelcomePage.aspx")
driver.find_element_by_id("ctl00_IdWelcome_ExplicitLogin").click()
driver.find_element_by_id("username").clear()
driver.find_element_by_id("username").send_keys("146-")
driver.find_element_by_id("password").clear()
driver.find_element_by_id("password").send_keys("lexo")
driver.find_element_by_xpath(u"(//button[@value='Войти'])[4]").click()
time.sleep(7)
driver.find_element_by_xpath("//div[@id='zz3_TopNavigationMenuV4']/div/ul/li[2]/a/span/span").click()
driver.find_element_by_css_selector(u"td[title=\"ОГВ\"]").click()
driver.find_element_by_id("ctl00_m_FormWP_View_ViewDataBtn").click()
-----
-----
------
----
def is_element_present(self, how, what):
try: self.driver.find_element(by=how, value=what)
except NoSuchElementException: return False
return True
def is_alert_present(self):
try: self.driver.switch_to_alert()
except NoAlertPresentException: return False
return True
def close_alert_and_get_its_text(self):
try:
alert = self.driver.switch_to_alert()
alert_text = alert.text
if self.accept_next_alert:
alert.accept()
else:
alert.dismiss()
return alert_text
finally: self.accept_next_alert = True
def tearDown(self):
self.driver.quit()
self.assertEqual([], self.verificationErrors)
if __name__ == "__main__":
try:
unittest.main()
except SystemExit as inst:
if inst.args[0] is True: # raised by sys.exit(True) when tests failed
raise
все валится после успешного выполнения
driver.find_element_by_xpath(u"(//button)“).click()
и попытки выполнить :
driver.find_element_by_xpath(”//div/div/ul/li/a/span/span").click()
К сожалению не могу вам предоставить корректный логин/пароль , чтобы протестировать скрипт, по понятным причинам. Может у кого была подобная проблема
На последних версиях хромдрайвера (v2.4) и браузера хрома (30.0.1599.69) русско-язычные тексты вводятся в поля в непонятной кодировке:
Дублирую текстом, если картинка не открывается:
>A:>2A:0O >1;.
5E>2>-C52A:89
:0B5@8=1C@3
5=8=0
Изначально введенные латинские символы, цифры отображаются корректно.
Статичные русские тексты на страницы также отображаются правильно.
Вручную с клавиатуры русские буквы вводятся корректно.
Язык раскладки клавиатуры в окне драйвера в момент выполнения не влияет.
Ввод текста в поля реализован стандартным SendKeys:
protected void EnterDataOnField(string id, string data)
{
var element = Driver.GetElement(By.Id(id));
element.Clear();
element.SendKeys(data);
}
Кто-нибудь сталкивался с этим? Есть идеи, как починить хромдрайвер (у меня ощущение, что это именно он виноват)?
До многочисленных обновлений драйвера всё работало нормально.