2

我是一个基本的 java 用户,目前我正在尝试创建一个测试我的电子邮件功能的自动化测试用例。所以我的想法是:

  1. 在 java 中使用 selenium webdriver,该程序创建一个线程来启动浏览器,转到 google 电子邮件,创建一个测试电子邮件并将其发送到我的 yahoo 电子邮件帐户。之后,它会无限期地休眠,直到它收到一条消息或发送另一封电子邮件的信号。
  2. 在此过程中,正在创建另一个线程以访问 yahoo 电子邮件帐户并监控新传入的电子邮件。一旦它收到一封电子邮件,就会向第一个线程发送一条消息或信号以发送另一封电子邮件。
  3. 整个过程会再重复两次,所以gmail和雅虎邮箱之间会交换三封邮件。

到目前为止,代码是这样的。我不确定如何从这里取得进展。更具体地说,我不确定如何在其中添加线程,以便两个实例同时运行。

import static org.junit.Assert.fail;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;
import org.openqa.selenium.*;
import org.openqa.selenium.firefox.FirefoxDriver;

import java.util.concurrent.TimeUnit;

public class multi_test {

    public WebDriver driver1;
    protected WebDriver driver2;
    public String baseUrl1;
    public String baseUrl2;
    protected StringBuffer verificationErrors = new StringBuffer();

    public class setup1 implements Runnable{
        public void run(){
            driver1.get(baseUrl1);
        }
    }

    public class setup2 implements Runnable{
        public void run(){
            driver2.get(baseUrl2);
        }
    }
    @Before
    public void setUp() throws Exception {
        driver1 = new FirefoxDriver();
        baseUrl1 = "http://www.yahoo.com";
        driver1.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
        System.out.println(driver1);
        driver2 = new FirefoxDriver();
        baseUrl2 = "https://google.com";
        driver2.manage().timeouts().implicitlyWait(30, TimeUnit.SECONDS);
    }

    @Test
    public void testing1() throws Exception {
        driver1.get(baseUrl1);
    }

    @After
    public void tearDown() throws Exception {
        //driver1.quit();
        //driver2.quit();
        String verificationErrorString = verificationErrors.toString();
        if (!"".equals(verificationErrorString)) {
            fail(verificationErrorString);
        }
    }
}
4

1 回答 1

0

为什么要使用线程?不是更好的准备两个测试?发送和接收?一个发送邮件传递?好的,我们可以继续下一个 Receiver 将等待一封电子邮件,检查间隔例如 30 在接下来的 XX 分钟左右?

你可以在TestNG中运行它重复3次吗?

顺便提一句。好帖子为什么不自动化 gmail :)))

https://groups.google.com/d/msg/selenium-users/8jR6Fw5ndxU/7peVDuzkNN4J

于 2013-06-03T13:58:50.773 回答