C#中模拟用户登陆SharePoint网站

简介: 自动化测试一个SharePoint网站,首先要登陆,我们今天就模拟一下用户登陆SharePoint网站的过程,这一过程可以通过其他方式完成模拟,比如通过Coded UI Test录制脚本会更方便,但是这里主要介绍通过API结合Selenium2.

自动化测试一个SharePoint网站,首先要登陆,我们今天就模拟一下用户登陆SharePoint网站的过程,这一过程可以通过其他方式完成模拟,比如通过Coded UI Test录制脚本会更方便,但是这里主要介绍通过API结合Selenium2.0来实现这个过程:

首先我们要创建一个C#的Project,什么类型的都可以,这里拿控制台程序举例(需要引入System.Windows.Forms包),程序如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OpenQA.Selenium;
using OpenQA.Selenium.IE;
using OpenQA.Selenium.Support;
using OpenQA.Selenium.Support.UI;
using Selenium;
using mySelenium;
using System.Runtime.InteropServices;

namespace mySelenium
{
    class Program
    {
        [DllImport("user32.dll", CharSet = CharSet.Auto, ExactSpelling = true)]
        public static extern IntPtr GetForegroundWindow();
        static void Main(string[] args)
        {
            IWebDriver driver = new InternetExplorerDriver();
            INavigation navigation = driver.Navigate();
            navigation.GoToUrl("SharePoint网站url");
            driver.FindElement(By.Id("overridelink")).Click();
            IntPtr myPtr = GetForegroundWindow();
            //IntPtr hWnd = FindWindow(null, "abc");
            if (myPtr != IntPtr.Zero) 
            {
                //Send message to the window.
                System.Windows.Forms.SendKeys.SendWait("用户名");
                System.Windows.Forms.SendKeys.SendWait("{TAB}");
                System.Windows.Forms.SendKeys.SendWait("密码");
                System.Windows.Forms.SendKeys.SendWait("{ENTER}");
            }   
        }
    }
}

PS:这里需要引入Selenium 2.0的几个dll文件,添加引用:

并引入IEDriverServer.exe,这个过程可以点这里查看。

然后按F5运行程序即可自动登陆SharePoint网站。

相关文章
|
4月前
|
数据采集 JavaScript C#
C#图像爬虫实战:从Walmart网站下载图片
C#图像爬虫实战:从Walmart网站下载图片
|
5月前
|
Linux C#
【Azure App Service】C#下制作的网站,所有网页本地测试运行无误,发布至Azure之后,包含CHART(图表)的网页打开报错,错误消息为 Runtime Error: Server Error in '/' Application
【Azure App Service】C#下制作的网站,所有网页本地测试运行无误,发布至Azure之后,包含CHART(图表)的网页打开报错,错误消息为 Runtime Error: Server Error in '/' Application
|
7月前
|
C# 数据库 网络架构
技术经验分享:c#程序添加其他网站的webservice引用。
技术经验分享:c#程序添加其他网站的webservice引用。
73 0
|
8月前
|
JavaScript 前端开发 C#
C# webbrowser控件设置代理IP访问网站
C# webbrowser控件设置代理IP访问网站
413 5
|
8月前
|
XML 存储 开发框架
c#教你网站数据轻松解析抓取,HtmlAgilityPack解析的奇妙之处
c#教你网站数据轻松解析抓取,HtmlAgilityPack解析的奇妙之处
242 0
|
8月前
|
数据采集 JSON API
C#爬虫项目实战:如何解决Instagram网站的封禁问题
C#爬虫项目实战:如何解决Instagram网站的封禁问题
|
关系型数据库 MySQL C#
【C#】【MySQL】C#连接MySQL数据库(三)登陆注册代码
【C#】【MySQL】C#连接MySQL数据库(三)登陆注册代码
148 0
【C#】【MySQL】C#连接MySQL数据库(三)登陆注册代码
|
开发框架 架构师 JavaScript
C#的学习网站
C#的学习网站
112 0