w => w.ClassName == "Button" && new WinButton (w.Hwnd) .Title == "OK"
Я использую класс, который нажимает «ОК» во всех диалоговых окнах, которые открываются при тестировании веб-сайта на Watin. Но эта строка дает ошибку, что лямбда-выражение не может быть преобразовано в строку типа, потому что это не тип делегата.
Я использовал System.Linq и до сих пор не работает
Пожалуйста, помогите мне!
Весь код выглядит следующим образом:
using System;
using System.Text;
using System.Collections.Generic;
using System.Linq;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using WatiN.Core;
using SCO.Automated.Testing.Service;
using WatiN.Core.DialogHandlers;
using WatiN.Core.Native.Windows;
using WatiN.Core.Native.InternetExplorer;
namespace SCO.Automated.Testing.Service
{
public class OKDialogHandler : BaseDialogHandler
{
public override bool HandleDialog(Window window)
{
var button = GetOKButton(window);
if (button != null)
{
button.Click();
return true;
}
else
{
return false;
}
}
public override bool CanHandleDialog(Window window)
{
return GetOKButton(window) != null;
}
private WinButton GetOKButton(Window window)
{
var windowButton = new WindowsEnumerator().GetChildWindows(window.Hwnd, w => w.ClassName == "Button" && new WinButton(w.Hwnd).Title == "OK").FirstOrDefault();
if (windowButton == null)
return null;
else
return new WinButton(windowButton.Hwnd);
}
}
}