Ben adımlara webdriver
enjekte etmeye çalışıyorlar. this instructions kullanıyorum ve iyi çalışıyor.Bağımlılık enjeksiyonu Salatalık'ta nasıl çalışır?
fikri bir hizmet olarak adımlar sınıflara WebDriver enjekte etmektir. İlk adımda, aşağıdaki bağımlılığı eklemeniz gerekir.
<dependency>
<groupId>info.cukes</groupId>
<artifactId>cucumber-spring</artifactId>
<version>1.2.5</version>
<scope>test</scope>
</dependency>
Bağımlılık enjeksiyonuna katılan üç ana sınıf vardır. Burada bunları tek tek tanıştırıyoruz.
BaseUtil
BaseUtil WebDriverof Selenyum için bir öznitelik vardır sınıftır. sınıf oldukça basittir: Kanca sınıfı @Before, @After
içeren
public class BaseUtil {
private WebDriver driver;
public WebDriver getDriver() {return driver;}
public void setDriver(WebDriver driver) { this.driver = driver;}
}
Hook. yöntem testTearDown() tarayıcı kapatılması için sorumlu iken yöntem testInitialier(), webDriver dosya yüklemek ve bir örneğini oluşturmak için sorumludur.
public class Hook extends BaseUtil{
BaseUtil base;
@Before
public void testInitializer(){
File file = new
File(IgniteTaskApplication.class.getClassLoader().getResource("driver/chromedriver.exe").getFile());
String driverPath=file.getAbsolutePath();
System.out.println("Webdriver is in path: "+driverPath);
System.setProperty("webdriver.chrome.driver",driverPath);
base.setDriver(new ChromeDriver());
}
public Hook(BaseUtil base) {
this.base = base;
}
@After
public void tearDownTest(){
base.getDriver().close();
}
}
Adımlar
Ve adımlar sınıf derlenmiş özellikler dosyadan gelen adımları içerir. Eclipse'deki özellik dosyasını derlemek için Eclipse'inize Eclipse-Cucumber eklentisi yüklemeniz gerekir.
public class ClickButton_Steps extends BaseUtil{
BaseUtil base;
public ClickButton_Steps(BaseUtil base){
super();
this.base=base;
}
@When("^I clcik on the button$")
public void i_clcik_on_the_button() throws Throwable {
cb=new ClickButtonPage(base.getDriver());
cb.navigator();
}
// The other steps ...
}
bunu nasıl çalıştırırım?
Açık özelliği dosyası -> Farklı Çalıştır -> Ben yöneltecek şekilde çalışan yöntemlerden sırası ne merak ediyorum
Junit
Soru ile çalıştırın bağımlılık enjeksiyonu?
- JUnit o
Hook
sınıfının bir örneğini yapmak gerekiyor bu yüzdentestInitializer()
testInitializer()
Kanca sınıfında olduğu@Before
yöntemini çağırır:Şu sipariş aşağıdaki gibidir sanırım.
- Bu Kanca sınıfının constuctor çağırmak yol açar.
Ama ben geri kalan adımları anlayamıyorum. Belki de hiç de doğru değildir. Yani, Fonksiyonel bir kodum var ama nasıl çalıştığını açıklayamıyorum?