我正在使用最后一个selenium,一些网站随机弹出消息,停止正常的测试过程
我在想的是,我需要做IAlert as Observer模式,以捕获警报并接受它,并从其停止处理弹出窗口的点继续进行测试。
IAlert代码:
try
{
IAlert alert = driver.SwitchTo().Alert();
if (alert != null)
{
alert.Accept();
}
}
catch (Exception ex)
{}
主要问题是如何执行它,或者是否有更好的方法来处理随机弹出窗口?
谢谢
由于在尝试执行其他操作时弹出窗口很重要,因此我建议采用以下方法:EventFiringWebDriver允许您定义将在特定事件之前或之后立即运行的自定义代码。在这里查看示例。
不幸的是,我很久没有在.Net上写任何东西了,所以我的C#技能生锈了。因此,大致如下所示:
IWebDriver driver = new FirefoxDriver();
EventFiringWebDriver eventDriver = new EventFiringWebDriver(driver);
// add all relevant events, for example before clicking on something:
eventDriver.ElementClicking = new EventHandler<FindElementEventArgs>(checkPopup);
driver = eventDriver; // only need EventFiringWebDriver
然后
static void checkPopup(object sender, OpenQA.Selenium.Support.Events. WebElementEventArgs e) {
EventFiringWebDriver driver = (sender as OpenQA.Selenium.Support.Events.EventFiringWebDriver);
try {
Alert alert = driver.SwitchTo().Alert();
alert.accept();
}
catch (NoAlertPresentException ex) {
// nothing to do - just continue
}
}
因此,现在,每次脚本要单击某项时,它都会首先检查弹出窗口,并在需要时接受它。
#include <stdio.h> #include <pthread.h> #include <unistd.h> int a = 0; void *thread1_func(void *p_arg) { while (1) { a++; sleep(10); } } int m
问题内容: 我正在尝试将项目设置为表视图,但是setitems方法需要一个可观察的列表,而我的模型中却有一个可观察的集合.FXCollections实用程序类没有给定可观察的集合来创建可观察的列表的方法。类强制转换异常(按预期)。 目前,我正在使用这种代码 而且我有一些问题: 在表中进行编辑是否会按预期更新基础集? 这是这样做的“正确”方法吗 简而言之,我需要样式指南或最佳做法,以便在可观察集和可
问题内容: 我一直在阅读Observer模式,以保持UI处于最新状态,但仍然看不到它的用途。即使在我的特定对象中通知了我的MainActivity然后运行update();方法我仍然无法使用Pet对象来获取更新值,因为该对象是在Oncreate中创建的…而我只是无法创建新对象,因为那时变量会有所不同..这是我的实施,它似乎不起作用。 观察者/ MainActivity 可观察/宠物 问题答案: 首
7. 观察者(Observer) Intent 定义对象之间的一对多依赖,当一个对象状态改变时,它的所有依赖都会收到通知并且自动更新状态。 主题(Subject)是被观察的对象,而其所有依赖者(Observer)称为观察者。 Class Diagram 主题(Subject)具有注册和移除观察者、并通知所有观察者的功能,主题是通过维护一张观察者列表来实现这些操作的。 观察者(Observer)的注
#include <stdio.h> #include <pthread.h> int a = 0; void *thread1_func(void *p_arg) { while (1) { printf("%d\n", a); sleep(10); } } int main(v
给出一个汽车列表(