2015-06-04 4 views
-1

Я создаю автоматический тест для некоторых веб-сайтов, и я использую WebDriver, TestNG и код, написанный на Java. Каждый выход с консоли должен показывать время, когда выполняется шаг. Неделю назад все было в порядке, каждый шаг имел другое время. Однако сейчас время остается прежним.Я не могу получить текущую дату

09:50:48: ***********start*********** 
09:50:48: ***********PART 1*********** 
09:50:48: 1.1 home: OK xxxx 
09:50:48: ***********PART 2*********** 
09:50:48: 2.1 home: OK xxxx 
09:50:48: 2.2 home: OK xxxx 
09:50:48: 2.3 home: OK URL xxxx 
09:50:48: 2.4 home: OK xxxx 
09:50:48: ***********PART 3*********** 
.... 

Я использовал этот код:

Date dNow = new Date(); 
SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd hh:mm:ss"); 

System.out.println(ft.format(dNow) + ":" + " xxxx"); 

Может кто-нибудь сказать мне, как я могу получить снова текущее время на каждом шагу?

Код испытания:

package exDrazby; 

import java.text.SimpleDateFormat; 
import java.util.concurrent.TimeUnit; 
import static org.junit.Assert.*; 
import org.openqa.selenium.*; 
import org.openqa.selenium.firefox.FirefoxDriver; 
import org.testng.annotations.AfterMethod; 
import org.testng.annotations.BeforeMethod; 
import org.testng.annotations.Test; 
import java.util.*; 
import java.util.NoSuchElementException; 


public class Help { 
    private WebDriver driver; 
    private String baseUrl; 
    private StringBuffer verificationErrors = new StringBuffer(); 
    Date dNow = new Date(); 
    SimpleDateFormat ft = new SimpleDateFormat ("yyyy-MM-dd hh:mm:ss"); 

@BeforeMethod 
public void setUp() throws Exception { 
    driver = new FirefoxDriver(); 
    //driver.manage().window().maximize(); 
    baseUrl = "http://www.labmultis.info"; 
    driver.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS); 

} 
@Test 
public void testHelpStep1WD() throws Exception { 
    System.out.println(" **************************************"); 
    System.out.println(" * Test projektu: exdrazby.cz –admin verze 3.3s"); 
    System.out.println(" * Test: HELP verze 1.0"); 
    System.out.println(" **************************************"); 
    System.out.println(" "); 
    System.out.println(ft.format(dNow) + ":" + " ***********ZAČÁTEK TESTU HELP***********"); 
    System.out.println(ft.format(dNow) + ":" + " ***********PART 1***********"); 
    driver.get(baseUrl + "/jpecka.portal-exdrazby/index.php?a=mujucet&aa=resetheslo"); 
    driver.findElement(By.linkText("Nápověda")).click(); 
    try { 
     assertEquals("Úvod > Nápověda", driver.findElement(By.cssSelector("p.breadcrumb")).getText()); 
     System.out.println(ft.format(dNow) + ":" + " 1.1 help: OK stránka nápověda dostupná"); 
    } catch (Error e) { 
     verificationErrors.append(e.toString()); 
     System.out.println(ft.format(dNow) + ":" + " 1.1 help: stránku nápověda se nepodařilo zobrazit!!!"); 
    } 
    assertTrue(isElementPresent(By.cssSelector("div.box.box-inner"))); 
    System.out.println(ft.format(dNow) + ":" + " ***********PART 2***********"); 
    try { 
     assertEquals("Obsah", driver.findElement(By.cssSelector("h3")).getText()); 
     System.out.println(ft.format(dNow) + ":" + " 2.1 help: OK box s nápovědou vlevo je zobrazen"); 
    } catch (Error e) { 
     verificationErrors.append(e.toString()); 
     System.out.println(ft.format(dNow) + ":" + " 2.1 help: box s nápovědou vlevo je chybí!!!"); 
    } 
    assertTrue(isElementPresent(By.linkText("Registrace na portálu"))); 
    assertTrue(isElementPresent(By.linkText("Jak splnit podmínky účasti v dražbě"))); 
    assertTrue(isElementPresent(By.linkText("Jak dražit"))); 
    assertTrue(isElementPresent(By.linkText("Jak hledat dražby"))); 
    try { 
     assertTrue(isElementPresent(By.linkText("Pojmy"))); 
     System.out.println(ft.format(dNow) + ":" + " 2.2 help: OK box s nápovědou vlevo obsahuje funkční linky: registrace na portálu, jak splnit podmínky účasti v dražbě, jak dražit, jak hledat dražby a pojmy"); 
    } catch (Error e) { 
     verificationErrors.append(e.toString()); 
     System.out.println(ft.format(dNow) + ":" + " 2.2 help: box s nápovědou vlevo obsahuje chybu, některý z následujích linků není funkční: registrace na portálu, jak splnit podmínky účasti v dražbě, jak dražit, jak hledat dražby a pojmy!!!"); 
    } 
    System.out.println(ft.format(dNow) + ":" + " ***********PART 3***********"); 
    assertTrue(isElementPresent(By.linkText("Jak se registrovat"))); 
    assertTrue(isElementPresent(By.linkText("Co je základní registrace"))); 
    assertTrue(isElementPresent(By.linkText("Registrace dražitele"))); 
    assertTrue(isElementPresent(By.linkText("Co je registrace ostatních účastníků dražby"))); 
    driver.findElement(By.xpath("//a[contains(text(),'Co v případě, že se nemůžete registrovat nebo přihlásit?')]")).click(); 

    try { 
     assertTrue(driver.findElement(By.xpath("/html/body/div[1]/div/section/div/div[2]/ol/h2")).getText().matches("^Co v případě, že se nemůžete registrovat nebo přihlásit[\\s\\S]$")); 
     System.out.println(ft.format(dNow) + ":" + " 3.1 help: OK Nápověda > 1. registrace na portálu obsahuje funkční následující linky: jak se registrovat, co je základní registrace, co je registrace dražitele, Co je registrace ostatních účastníků dražby, Co v případě, že se nemůžete registrovat nebo přihlásit."); 
    } catch (Error e) { 
     verificationErrors.append(e.toString()); 
     System.out.println(ft.format(dNow) + ":" + " 3.1 help: Nápověda > 1. registrace na portálu obsahuje chybu, některý z následujích linků není funkční: jak se registrovat, co je základní registrace, co je registrace dražitele, Co je registrace ostatních účastníků dražby, Co v případě, že se nemůžete registrovat nebo přihlásit.!!!"); 
    } 
    driver.findElement(By.linkText("Pojmy")).click(); 
    try { 
     assertEquals("Pojmy", driver.findElement(By.xpath("//li[5]/div")).getText()); 
    } catch (Error e) { 
     verificationErrors.append(e.toString()); 
    } 
    assertTrue(isElementPresent(By.linkText("Jak prokázat totožnost"))); 
    assertTrue(isElementPresent(By.linkText("Ověření totožnosti u exekutora"))); 
    assertTrue(isElementPresent(By.linkText("Doložení ověřené totožnosti doklady zaslanými poštou"))); 
    assertTrue(isElementPresent(By.linkText("Doložení ověřené totožnosti kvalifikovaným certifikátem"))); 
    assertTrue(isElementPresent(By.linkText("Doložení ověřené totožnosti datovou schránkou"))); 
    assertTrue(isElementPresent(By.linkText("Doložení ověřené totožnosti doklady konvertovanými na poště"))); 
    assertTrue(isElementPresent(By.linkText("Jak složit dražební jistotu"))); 
    assertTrue(isElementPresent(By.linkText("Práce s konvertovaným dokladem v části Můj účet"))); 
    driver.findElement(By.xpath("(//a[contains(text(),'Jak splnit podmínky účasti v dražbě')])[2]")).click(); 
    try { 
     assertEquals("Jak splnit podmínky účasti v dražbě", driver.findElement(By.cssSelector("h2")).getText()); 
     System.out.println(ft.format(dNow) + ":" + " 3.2 help: OK Nápověda > 2. Jak splnit podmínky účasti v dražbě obsahuje funkční následující linky:Jak splnit podmínky účasti v dražbě, Jak prokázat totožnost, ověření totožnosti u exekutora, Doložení ověřené totožnosti doklady zaslanými poštou, Doložení ověřené totožnosti kvalifikovaným certifikátem, Doložení ověřené totožnosti datovou schránkou, Doložení ověřené totožnosti doklady konvertovanými na poště, Jak složit dražební jistotu, Práce s konvertovaným dokladem v části Můj účet"); 
    } catch (Error e) { 
     verificationErrors.append(e.toString()); 
     System.out.println(ft.format(dNow) + ":" + " 3.2 help: Nápověda > 2. Jak splnit podmínky účasti v dražbě obsahuje chybu, někter z následujících linků není funkční:Jak splnit podmínky účasti v dražbě, Jak prokázat totožnost, ověření totožnosti u exekutora, Doložení ověřené totožnosti doklady zaslanými poštou, Doložení ověřené totožnosti kvalifikovaným certifikátem, Doložení ověřené totožnosti datovou schránkou, Doložení ověřené totožnosti doklady konvertovanými na poště, Jak složit dražební jistotu, Práce s konvertovaným dokladem v části Můj účet!!!"); 
    } 
    try { 
     assertTrue(isElementPresent(By.cssSelector("img"))); 
    } catch (Error e) { 
     verificationErrors.append(e.toString()); 
    } 
    driver.findElement(By.cssSelector("a[title=\"Nápovéda\"]")).click(); 
    assertTrue(isElementPresent(By.linkText("Kdy začne dražba"))); 
    assertTrue(isElementPresent(By.linkText("Jak přihazovat"))); 
    assertTrue(isElementPresent(By.linkText("Kdy dražba končí"))); 
    driver.findElement(By.linkText("Jak podat námitky")).click(); 
    try { 
     assertEquals("Jak podat námitky", driver.findElement(By.cssSelector("h2")).getText()); 
     System.out.println(ft.format(dNow) + ":" + " 3.3 help: OK Nápověda > 3. Jak dražit obsahuje funkční následující linky: Kdy začne dražba, jak přihazovat, kdy dražba končí, jak podat námitky"); 
    } catch (Error e) { 
     verificationErrors.append(e.toString()); 
     System.out.println(ft.format(dNow) + ":" + " 3.3 help: Nápověda > 3. Jak dražit obsahuje chybu, některý z následujících linků je nefunkční: Kdy začne dražba, jak přihazovat, kdy dražba končí, jak podat námitky!!!"); 
    } 
    driver.findElement(By.cssSelector("a[title=\"Nápovéda\"]")).click(); 
    assertTrue(isElementPresent(By.linkText("Jak hledat dražbu"))); 
    driver.findElement(By.linkText("Jak nastavit emailové upozornění")).click(); 
    try { 
     assertEquals("Jak nastavit emailové upozornění", driver.findElement(By.cssSelector("h2")).getText()); 
     System.out.println(ft.format(dNow) + ":" + " 3.4 help: OK Nápověda > 4. Jak hledat dražby obsahuje funkční následující linky: Jak hledat dražbu, jak nastavit emailové upozornění"); 
    } catch (Error e) { 
     verificationErrors.append(e.toString()); 
     System.out.println(ft.format(dNow) + ":" + " 3.4 help: Nápověda > 4. Jak hledat dražby obsahuje chybu, některý z následujících linků není funkční: Jak hledat dražbu, jak nastavit emailové upozornění!!!"); 
    } 
    driver.findElement(By.cssSelector("a[title=\"Nápovéda\"]")).click(); 
    assertTrue(isElementPresent(By.linkText("Předkupní právo"))); 
    assertTrue(isElementPresent(By.linkText("Příhoz"))); 
    assertTrue(isElementPresent(By.linkText("Podání"))); 
    assertTrue(isElementPresent(By.linkText("První příhoz"))); 
    assertTrue(isElementPresent(By.linkText("Povinný"))); 
    assertTrue(isElementPresent(By.linkText("Oprávněný"))); 
    assertTrue(isElementPresent(By.linkText("Dražba"))); 
    assertTrue(isElementPresent(By.linkText("Vydražitel"))); 
    assertTrue(isElementPresent(By.linkText("Dražební vyhláška"))); 
    assertTrue(isElementPresent(By.linkText("Dražební jistota"))); 
    driver.findElement(By.linkText("Nejnižší podání")).click(); 
    try { 
     assertEquals("Nejnižší podání", driver.findElement(By.cssSelector("h2")).getText()); 
     System.out.println(ft.format(dNow) + ":" + " 3.5 help: OK Nápověda > 5. Pojmy obsahuje funkční následující linky: Předkupní právo, příhoz, podání, první příhoz, povinný, opravněný, dražba, vydražitel, dražební vyhláška, dražební jistota, nejnižší podání"); 
    } catch (Error e) { 
     verificationErrors.append(e.toString()); 
     System.out.println(ft.format(dNow) + ":" + " 3.5 help: Nápověda > 5. Pojmy obsahuje chybu, některý z následujích linků je chybný: Předkupní právo, příhoz, podání, první příhoz, povinný, opravněný, dražba, vydražitel, dražební vyhláška, dražební jistota, nejnižší podání!!!"); 
    } 
} 


@AfterMethod 
public void tearDown() throws Exception { 
    driver.close(); 
    try 
    { 
     Thread.sleep(5000); 
     driver.quit(); 
    } 
    catch(Exception e) 
    { 
    } 
} 
private boolean isElementPresent(By by) { 
    try { 
     driver.findElement(by); 
     return true; 
    } catch (NoSuchElementException e) { 
     return false; 
    } 
} 

}

+0

Вы уверены, что каждый раз создаете новый объект даты? – Janar

+0

Вам нужно предоставить больше информации, чтобы иметь возможность помочь вам, иначе мы просто догадываемся. – slarge

+0

и что вам нужно?я могу дать вам полный тест кода – Keliimek

ответ

2

Вы не создаете новый объект Date. Вместо

System.out.println(ft.format(dNow) +...) 

Вы должны создать новый объект Date

Попробуйте изменить все объекты dNow в

System.out.println(ft.format(new Date()) +...) 
0

Вместо Дата dNow = новая дата(); вы должны использовать:

java.time.LocalDateTime.now() 

Он собирается вернуть текущее время и дату.

0

Вы можете использовать

Calendar.getInstance().getTime() 

, а также.

+0

Я пробовал эту опцию, результат тот же – Keliimek

+0

I означает, что Calendar.getInstance(). getTime() дает вам каждый раз текущее время. Поэтому в ваших отпечатках нужно сделать ft.format (Calendar.getInstance(). GetTime()) вместо ft.format (dNow). Вы также можете использовать ft.format (новая дата()). – Akah

1

Вы не создаете новый объект Date перед запуском каждого теста.

Добавить

dNow = new Date(); 

методу нАлАдкА.

Отделите свой тест на различные методы испытаний.

Вы также можете создать новый метод, чтобы сделать выходной сигнал

private void log(final String message) { 
    System.out.println(MessageFormat.format("{0} - {1}", ft.format(new Date(), message); 
} 

и использовать его вместо

System.out.println(ft.format(dNow) + ":" + " ***********ZAČÁTEK TESTU HELP***********"); 

как этот

log(" ***********ZAČÁTEK TESTU HELP***********"); 
+0

Это не поможет, так как у него только один тест. – Janar

+0

А ты прав :) – slarge

1

попытаться удалить dNow декларацию и замените все dNow с новые Дата()

Смежные вопросы