Tag: 等等

在C#中定期不断运行函数的更好方法

我有一个C#程序,它不断检查在线数据库的新增function。 我有这个代码让它每10秒检查一次 static void Main(string[] args) { boolean run = true; while (run) { DBConnect Db = new DBConnect(); // do amazing awesome mind blowing cool stuff Db.closeConnection(); // wait for 10 seconds int wait = 10 * 1000; System.Threading.Thread.Sleep(wait); } } 我有错误报告,发布到数据库,如果发生重大错误,程序关闭。 在我的函数中的特定错误之外,这种方法安全有效吗?

如何在selenium webdriver中等待元素加载?

我是selenium webdriver的新手,正在测试一个应用程序。 在我的应用程序中,我必须测试关于Facebook帐户的链接。 每当我点击链接时,弹出窗口都会显示在我必须输入凭据的位置。 我有时能够链接,有时测试失败。 我知道原因是因为加载弹出窗口需要时间并且执行下一个命令所以它无法找到该元素。 我使用过Thread.Sleep,但我想使用隐式等待或显式等待,这总是一个很好的做法,而不是Thread.Sleep。 如何使用隐式等待以及在哪里使用该命令? 请指教。 谢谢。 public void SocialFaceBook() { string currentWindow = driver.CurrentWindowHandle; PopupWindowFinder finder = new PopupWindowFinder(driver); string facebookWindow = finder.Click(driver.FindElement(By.XPath(“//div[@id=’panelFacebook’]/div[2]/div[3]/div[3]/a”))); // Switch To FaceBook Window driver.SwitchTo().Window(facebookWindow); System.Threading.Thread.Sleep(3000); // Link // Email Address IWebElement faceBookLinkEmail = driver.FindElement(By.Id(“email”)); faceBookLinkEmail.SendKeys(SocialFaceBookEmail); // Password IWebElement faceBookLinkPass = driver.FindElement(By.Id(“pass”)); faceBookLinkPass.SendKeys(SocialFaceBookPass); // Log In Button […]