[英]Selenium Java - How to call a class from different class
我是 Selenium 的新手,我需要任何我能得到的帮助。 我会尽量提供详细的信息。 我需要从 SECOND 类调用 FIRST 类 ( ImagesRepo
) 内的对象imgBtn01
或imgBtn02
。 我想把它分开的原因,我希望所有的图像对象都来自不同的类。
Selenium + Sikuli > Java > Maven 项目
不同套餐的头等舱
public class ImagesRepo {
public void imageRepoApp() {
//Images assigning object
Screen screen = new Screen();
Pattern imgBtn01 = new Pattern("/Images/Btn_ButtonName01.png");
Pattern imgBtn02 = new Pattern("/Images/Btn_ButtonName02.png");
}
第二类,来自不同的包:
public class testBed {
public static void callRepoImages() throws FindFailed {
ReporImages();
}
@Test
public static void ReporImages() {
Screen screen = new Screen();
screen.click(imgBtn01); //the imgBtn01 has a redline
screen.click(imgBtn02); //the imgBtn02 has a redline
return;
}
}
这看起来更像是如何在 java 类型问题中编码。
一种方法是为您的第一个类创建公共变量并从第二个类中获取这些变量。
将 1st class 更改为类似的内容;
public class ImagesRepo {
public Pattern imgBtn01;
public Pattern imgBtn02;
public void imageRepoApp() {
//Images assigning object
Screen screen = new Screen();
imgBtn01 = new Pattern("/Images/Btn_ButtonName01.png");
imgBtn02 = new Pattern("/Images/Btn_ButtonName02.png");
}
然后,您可以在 Second class 中获取这些公共变量;
public class testBed{
public static void callRepoImages() throws FindFailed {
ReporImages();
}
@Test
public static void ReporImages() {
ImagesRepo imgrepo = new ImagesRepo();
imgrepo.imageRepoApp(); //So that pattern assignment is done.
Screen screen = new Screen();
screen.click(imgrepo.imgBtn01); //the imgBtn01 has a redline
screen.click(imgrepo.imgBtn02); //the imgBtn02 has a redline
return;
}
}
此外,在类 testBed 中适当地为类 ImageRepo 添加导入
代码未经测试。
有更好的方法可以做到这一点,但这似乎是对代码进行最少更改的方法。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.