小编And*_*rio的帖子

使用不同的参数在TestNG中重复整个测试类

我有这个用selenium webdriver测试网站的代码.有四种@Test方法,一种@DataProvider有三种值.因此,总共有12个测试可以运行.

public class SomeTest {

    WebDriver driver;

    @DataProvider(name = "URLs")
    public Object[][] createData1() {
     return new Object[][] {
       {"url 1"},
       {"url 2"},
       {"url 3"}};
    }

    @BeforeMethod
    //right now I'm just setting up weddriver for chrome, but 
    //I'll need to run this test for firefox, chrome, and IE
    public void setUpWebDriver(){
        driver = WebDrivers.getChromeDriver();
    }

    @AfterMethod
    public void closeWebDriver(){
        driver.quit();
    }   

    //test methods below

    @Test(dataProvider = "URLs")
    public void test1(String url){
        //test 1 with url
    } …
Run Code Online (Sandbox Code Playgroud)

java testng selenium webdriver testng-dataprovider

2
推荐指数
2
解决办法
4958
查看次数

Java 和 JavaScript 中的类之间的区别?

我对 C# 和 Java 有一些经验,但我正在尝试学习 javascript/node.js。我不太清楚这段代码的问题是什么。

所以我有我的main.js文件,它有这个代码:

const MyClass = require("./MyClass");
let myclass = new MyClass("my string!");

myclass.repeatString();
Run Code Online (Sandbox Code Playgroud)

MyClass它调用了这个代码:

class MyClass {
    constructor(myString) {
        this.myString = myString;
    }

    repeatString() {
        console.log(myString);
    }
}

module.exports = MyClass;
Run Code Online (Sandbox Code Playgroud)

当我尝试运行它时,我会ReferenceError: myString is not defined在它尝试执行该repeatString()方法时得到消息。我做错了什么/这样做的正确方法是什么?

javascript java node.js

2
推荐指数
1
解决办法
654
查看次数

以编程方式运行TestNG时,如何从测试类中获取@Test方法

我正在创建一个应用程序,以编程方式执行我们的java webdriver硒脚本。我们使用TestNG。

我可以使用虚拟XML文件启动类。这有效

    XmlSuite suite = new XmlSuite();
    suite.setName("TmpSuite");

    XmlTest test = new XmlTest(suite);
    test.setName("TmpTest");
    List<XmlClass> classes = new ArrayList<XmlClass>();

    Map<String, String> parameters = new HashMap<String, String>(); 
    parameters.put("browser", "Firefox"); 
    suite.setParameters(parameters);

    classes.add(new XmlClass("package.classname"));
    test.setXmlClasses(classes) ;

    List<XmlSuite> suites = new ArrayList<XmlSuite>();
    suites.add(suite);
    TestNG tng = new TestNG();
    tng.setXmlSuites(suites);
    tng.run();
Run Code Online (Sandbox Code Playgroud)

由于上述方法使用package.classname来执行该类,因此我需要一种获取所有类的方法。它们的包和类名(我们有数百个包)。

我使用此代码来抓取所有package.classnames。在简单地扫描项目的/ bin /目录中,将文件夹结构转换为程序包名称,并从类文件中删除.class扩展名。这个作品,太:

    //scans the /bin directory of project to grab all packages/classes

    String binPath = "V:\\Selenium\\Scripts\\bin\\";
    File dir = new File(binPath);

    List<File> files …
Run Code Online (Sandbox Code Playgroud)

java testng selenium webdriver

1
推荐指数
1
解决办法
2370
查看次数

使用java测量网页的总加载时间

我正在创建一个应用程序来检查页面加载所需的时间.到目前为止,我有这样的事情:

long startTime = System.currentTimeMillis();
//load page and wait for it to finish
long elapsedTime = System.currentTimeMillis() - startTime;
Run Code Online (Sandbox Code Playgroud)

现在,我不只想测量html文档加载的时间,而是整个dom.基本上,如果它在浏览器中,我希望它能够测量加载微调器停止所需的时间.

我该怎么做才能做到最好?我正在尝试WebDriver,但它似乎并不一致; 有时它会在仍然加载东西时考虑完成页面(我也尝试了隐式等待).

java selenium webdriver

1
推荐指数
1
解决办法
3085
查看次数

在Unity3D的构建设置中获取下一个场景的名称?

所以,我想做的事情似乎应该非常简单.我需要获取下一个场景的名称(不加载它),如构建设置中所列.

做以下事情我认为我有一个简单的解决方案:

int currentIndex = SceneManager.GetActiveScene().buildIndex;
string nextSceneName = SceneManager.GetSceneAt(currentIndex + 1).name
Run Code Online (Sandbox Code Playgroud)

但显然"GetSceneAt"不适用于构建设置中的场景,而是适用于SceneManager所具有的某种内部列表.

我的所有谷歌搜索都会根据场景的特定命名顺序显示解决方案,或者在构建之前将场景列表导出到文件(手动需要导出的列表)等等.我无法想象这样一个简单的问题需要这么复杂的解决方案,这就是我要求自己的原因.

如何在构建设置中获取下一个场景的名称?

c# unity-game-engine unity5

1
推荐指数
1
解决办法
1877
查看次数

用于从列表中检索包含任何值的项目的 LINQ 查询?

假设我有一个包含报表的表,每个报表都有一个分配给它的员工的员工 ID。

假设我有一个员工 ID 列表,例如:

[ "1001", "1002", "1003", "1004", "1005", "1006", "1007"]
Run Code Online (Sandbox Code Playgroud)

什么 LINQ 查询将返回具有这些员工 ID 的所有报告?如果它只是一个单一的标准(比如如果我想要超过一年的所有东西),我可以做

query.Where(report => report.LaunchedDate < lastYear)
Run Code Online (Sandbox Code Playgroud)

但是当我有很多项目时我该怎么做呢?我是否需要使用循环或是否有用于枚举员工 ID 列表的 LINQ 方法?

c# linq entity-framework

1
推荐指数
1
解决办法
44
查看次数

如何将目录路径、ChromeOptions 和 ChromeDriverService 传递给新的 ChromeDriver?

我正在创建一个新的 ChromeDriver 对象,但我想向它传递一个 ChromeDriverService 对象、一个 ChromeOptions 对象和一个驱动程序的路径。但是,查看此页面,构造函数不支持通过所有这三个。我该怎么做?

c# webdriver selenium-chromedriver selenium-webdriver

0
推荐指数
1
解决办法
1087
查看次数

(HTML) 通过 CSS 选择器选择下一个匹配元素?

我在 selenium webdriver 中使用 CSS 选择器。

假设我有一个如下所示的 DOM:

<div class="test">
    <a class="example"> Comet </a>
</div>
<div class="test">
    <a class="example"> Asteroid </a>
</div>
<div class="test">
    <a class="example"> Planet </a>
</div>
Run Code Online (Sandbox Code Playgroud)

假设我想将标签与“Asteroid”相匹配。如果我使用 CSS 选择器,我可以这样做:div.test > a.example

唯一的问题是这将匹配所有三个。使用 xpath,我可以执行如下操作:(//div/a[@class='example'])[2]这将告诉它选择第二个匹配元素。

有没有办法使用 CSS 选择器来做同样的事情?只需选择第二个或第三个匹配元素?我尝试过:nth-child(),但这似乎只适用于指定节点的子节点,并且似乎不像我给出的 xpath 示例那样工作,或者也许我做错了。

html css xpath webdriver css-selectors

-1
推荐指数
1
解决办法
143
查看次数