Thread.sleep 未运行 [重复]

Posted

技术标签:

【中文标题】Thread.sleep 未运行 [重复]【英文标题】:Thread.sleep not running [duplicate] 【发布时间】:2018-12-21 23:20:54 【问题描述】:

我在 Eclipse 中有一些具有以下结构的代码:

package automationFramework;

import java.util.List;
import org.openqa.selenium.support.ui.Select;
import java.util.concurrent.TimeUnit;
import org.openqa.selenium.By;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.WebElement;
import org.openqa.selenium.firefox.FirefoxDriver;

public class FirefoxDropDown 

    public static void main(String[] args) throws InterruptedException 
        // Create a new instance of the Firefox driver

        System.setProperty("webdriver.gecko.driver", "/home/gradulescu/Documents/Eclipse project/geckodriver.exe");
        WebDriver driver = new FirefoxDriver();
        driver.manage().timeouts().implicitlyWait(10, TimeUnit.SECONDS);
        // Storing the Application URL in the String variable
        String url= "http://toolsqa.wpengine.com/automation-practice-form/";
        driver.get(url);        
        //Launch the Online Store Website
        Select oSdropDown = new Select((WebElement)driver.findElement(By.id("continents")));
        oSdropDown.selectByIndex(1);
        Thread.sleep(100);
        oSdropDown.selectByVisibleText("Africa");
        Thread.sleep(100);
        List<WebElement> oSize = oSdropDown.getOptions();
        int size = oSize.size();
        for(int i=0;i<size;i++)
        
            String sValue = oSdropDown.getOptions().get(i).getText();

            System.out.println(sValue);

                   
        driver.quit();

       

我的期望是在第一个代码运行后,等待 10 秒,然后是第二个代码,再等 10 秒。但实际上编译器在命令后运行命令而不等待我设置的 10 秒。

它是否有任何强制条件才能工作?

谢谢!

【问题讨论】:

不要假设库方法的作用。阅读它的 javadoc。它说 毫秒 那么:这与您在此处使用的大多数标签没有任何关系。请仅使用有意义的标签。您选择的 IDE 肯定与编程问题无关。 【参考方案1】:

我觉得你等的时间不够长,试试:Thread.sleep(10000);

您也可以使用:Thread.sleep(TimeUnit.SECONDS.toMillis(10));

【讨论】:

好吧,它似乎奏效了。我认为睡眠是以秒计算的,而不是毫秒。或者至少这是我正在阅读的教程中所说的。谢谢。 :) 没问题,很乐意提供帮助。 甚至TimeUnit.SECONDS.sleep(10);

以上是关于Thread.sleep 未运行 [重复]的主要内容,如果未能解决你的问题,请参考以下文章

c# Thread.Sleep(1000); 问题

java 中 Thread.sleep, 如果一个线程调用 sleep(5) , 那么5毫秒后这个线程一定运行吗?

BackgroundWorker 中的 Thread.Sleep(0) [重复]

Thread.sleep是啥意思?有啥作用

Swing - Thread.sleep() 停止 JTextField.setText() 工作[重复]

Thread.Sleep x Task.Delay [重复]