Отправляет email-рассылки с помощью сервиса Sendsay
  Все выпуски  

Groovy. Скачать файл с авторизацией



Software-Testing.Ru - портал тестировщиков  

Новые темы форума тестировщиков


Groovy. Скачать файл с авторизацией
2014-09-20 16:04

Всем привет, коллеги!

 

Занимаюсь в свободное время изучением автоматизации SoapUI. Столкнулся с проблемой, и уже неделю не могу решить. Задача - скачать файл. По ссылке нужна авторизация. В браузере ввожу логин и пароль - скачивается без проблем. Но через SoapUI создается файл с нулевым размером, и я получаю ошибку:

 

java.io.IOException: Server returned HTTP response code: 401 for URL: https://myserver:6984/ag/012fed6f382f55929b1ad9db15056292/baetz.zip error at line: 9

 

Мой код:

 

def authString = "login:password".getBytes().encodeBase64().toString()
def file = new File('d:/file.zip').newOutputStream()
def conn = addr.toURL().openConnection()
conn.setRequestProperty( "Authorization", "Basic ${authString}" )
if ( conn.responseCode == 200 ) {
log.info (authString)
 
file << new URL(addr).openStream()  
file.close()
 
} else {
  println "Something bad happened."
  println "${conn.responseCode}: ${conn.responseMessage}" 
}
 
Подскажите, пожалуйста, где я ошибся или что неправильно сделал


Реальность или миф?
2014-09-20 16:44

 Здравствуйте, люди. Реально ли научиться тестированию программного обеспечения за 3 месяца, на уровне пользователя , естественно, а не программиста и обязательно ли для этого высшее образование.



Требуется тестировщик ПО
2014-09-20 17:52
Тестировщик ПО

Обязанности:

  • Создание тест-кейсов и других артефактов тестирования;
  • Разработка методик и описаний тестирования;
  • Подготовка тестовых данных, в том числе заполнение таблиц баз данных;
  • Анализ и моделирование ситуаций, возникающих в условиях эксплуатации программного обеспечения;
  • Тестирование программных продуктов;
  • Выполнение задач нагрузочного тестирования;
  • Подготовка инструментария и настройка стендов для автоматического тестирования;
  • Участие в проведении опытных эксплуатаций программных продуктов;
  • Анализ результатов, полученных во время прохождения тестов, подготовка отчетов;
  • Классификация выявленных дефектов и их регистрация в системе;
  • Контроль процесс ликвидации выявленных дефектов разработчиком ПО;
  • Общение с группами разработки и внедрения;
  • Консультация клиентов в случае необходимости.

Требования:

  • Опыт создания тест-кейсов;
  • Язык запросов SQL на уровне, достаточном для выполнения задач тестирования;
  • Скриптовые языки на уровне, достаточном для выполнения задач тестирования.
  • Рассматриваем кандидатов без опыта, но с большим желанием обучаться.

Условия:

  • В компанию (разработка и сопровождение ПО для банковской сферы) требуется тестировщик.
  • Офис м.Бауманская. График 5/2. "Белая" заработная плата  по итогам собеседования 35-50000 руб.
Адрес
Москва, м. Бауманская
Тип занятости
Полная занятостьполный день
Ссылка на вакансию в hh 
 
Присылайте свой резюме на почту: ekaterinamalyginakadr@gmail.com 
Вся, более подробная информация по электронной почте.


java.io.FileNotFoundException
2014-09-20 21:20

Всем привет. В проекте имеется файл file.json. Расположен вот тут - /src/test/java/resources/file.json Из под винды этот файл прекрасно парсится (src\test\java\resources\) При запуске под linux получаю - java.io.FileNotFoundException (No such file or directory). Под Linux я прописал путь след. образом - /home/alex/Project/src/test/java/resources/file.json Не пойму что не так делаю, почему он его не находит? Спасибо.



Простой пример на selenium. После перехода на страницу не кликается.
2014-09-21 11:55
@Before
public void setUp() throws Exception {
 
driver = new FirefoxDriver();
 
 
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
 
}
@Test
public void test() throws Exception {
 
driver.get(baseUrl);
WebElement element = driver.findElement(By.id("gbqfq"));
element.sendKeys("переводчик");
driver.findElement(By.linkText("Переводчик Google")).click();
driver.findElement(By.id("source")).sendKeys("house");
System.out.println("Page title is: " + driver.getTitle());
 
}
 
Хочу автоматический перевести текст в переводчике гугл. Но почему то после перехода на страницу переводчика гугл, ничего не кликается. Подскажите пожалуйста, в чем может быть проблема.


Простой пример на selenium. После перехода на страницу не кликается.
2014-09-21 11:57
@Before
public void setUp() throws Exception {
 
driver = new FirefoxDriver();
 
 
driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
 
}
@Test
public void test() throws Exception {
 
driver.get(baseUrl);
WebElement element = driver.findElement(By.id("gbqfq"));
element.sendKeys("переводчик");
driver.findElement(By.linkText("Переводчик Google")).click();
driver.findElement(By.id("source")).sendKeys("house");
System.out.println("Page title is: " + driver.getTitle());
 
}
 
Хочу автоматический перевести текст в переводчике гугл. Но почему то после перехода на страницу переводчика гугл, ничего не кликается. Подскажите пожалуйста, в чем может быть проблема.


RemoteWebDriver vs PageObject
2014-09-22 00:31

Здравствуйте! Никак не могу победить одну штукенцию. Имеется тест, который заполняет поля на странице (input-ы, select-ы, checkbox-ы). Тест запускается как на windows (локальная машина), так и на Linux(виртуальная машина). Локально используется FirefoxDriver, для удаленного запуска использую RemoteWebDriver. Локально тест проходит успешно, удаленно - не получается отыскать два элемента, пишет что они невидимы "org.openqa.selenium.ElementNotVisibleException: Element is not currently visible and so may not be interacted with"

Все элементы находятся на одной странице - факт. Теперь код:

Вот эта страница с полями, которая заполняется:

public class A extends Page {

    public A(PageManager pages) {
        super(pages);
    }

    @FindBy(name = "firstName")
    private WebElement firstName;

    @FindBy(name = "secondName")
    private WebElement secondName;

    @FindBy(name = "lastName")
    private WebElement lastName;

    @FindBy(name = "country")
    private WebElement country;

    @FindBy(name = "city")
    private WebElement city;

    @FindBy(name = "phone")
    private WebElement phone;

public A setFirstName(String text) {
        firstName.clear();
        firstName.sendKeys(text);
        return this;
    }

public A setSecondName(String text) {
        secondName.clear();
        secondName.sendKeys(text);
        return this;
    }

public A setLastName(String text) {
        lastName.clear();
        lastName.sendKeys(text);
        return this;
    }

public A selectCountry(String text) {
        new Select(country).selectByVisibleText(text);
        return this;
    }

public A setCity(String text) {
        city.clear();
        city.sendKeys(text);
        return this;
    }

public A setPhone(String text) {
        phone.clear();
        phone.sendKeys(text);
        return this;
    }


Поля city и phone - невидимы.

Эти поля заполняются так:

@Override
    public void createUser(User user) {
        pages.adminMainPage.gotoUserPage().gotoAddNewUser()
                .setFirstName(user.getFirstName())
                .setSecondName(user.getSecondName)
                .setLastName(user.getLastName)
                .selectCountry(user.getCountry)
                .setCity(user.getCity)
                .setPhone(user.getPhone)

Класс AdminMainPage выглядит следующим образом:

public class AdminMainPage extends Page {

    private PageManager pages;

    public AdminMainPage(PageManager pages) {
        super(pages);
        this.pages = pages;
    }

    @FindBy(linkText = "Пользователи")
    private WebElement userLink;

Класс Page

public abstract class Page {

    protected WebDriver driver;
    protected PageManager pages;

    public Page(PageManager pages) {
        this.pages = pages;
        driver = pages.getWebDriver();
    }

И наконец PageManager

public class PageManager {

    private WebDriver driver;

    public A aPage;
    public AdminMainPage adminMainPage;
    
public PageManager(WebDriver driver) {
        this.driver = driver;
        aPage = (A) initElements(new A(this));
        adminMainPage = (AdminMainPage) initElements(new AdminMainPage(this));

protected Page initElements(Page page) {
        PageFactory.initElements(new AjaxElementLocatorFactory(driver, 10), page);
        return page;
    }

    public WebDriver getWebDriver() {
        return driver;
    }

Гуглив, натыкался на похожие случаи, неверная инициализация элементов страницы, якобы значение драйвера выставлялось в null. Мне непонятно как на одной странице 4 элемента находятся, а остальные два нет. 



© 2010 | Software-Testing.Ru


В избранное