0

我正在尝试自动化测试,该测试涉及通过智能卡对网站进行身份验证。

我正在使用 c#,Windows 7。

当我启动 url 时,会出现一个windows security窗口,要求我从可用证书列表中选择一个证书。

我发现不可能想出一种方法来以编程方式遍历安全对话框中列出的证书列表。我只需要遍历列表并继续阅读列出的证书的友好名称,直到找到与我所需证书匹配的证书。

4

1 回答 1

3
AutomationElementCollection windows =  AutomationElement.RootElement.FindAll(TreeScope.Descendants, new PropertyCondition(AutomationElement.ControlTypeProperty, ControlType.Window));
        foreach (AutomationElement window in windows)
        {
            if (window.Current.ClassName.Equals("#32770"))   //security dialog
            {
                AutomationElementCollection certs = window.FindAll(TreeScope.Descendants, new PropertyCondition(AutomationElement.ControlTypeProperty,ControlType.ListItem));
                foreach (AutomationElement cert in certs)
                {
                    Console.WriteLine(cert.Current.Name);
                }
            }
        }
于 2012-05-11T23:55:20.950 回答