添加项目

main
wanggaofeng 1 year ago
parent b6f0c8e4fa
commit 0da43bf5e4

@ -0,0 +1,89 @@
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using OpenQA.Selenium;
using OpenQA.Selenium.DevTools;
using OpenQA.Selenium.Support;
using OpenQA.Selenium.Internal;
using OpenQA.Selenium.Interactions;
using OpenQA.Selenium.Remote;
using OpenQA.Selenium.Edge;
using OpenQA.Selenium.Firefox;
using OpenQA.Selenium.Chrome;
using OpenQA.Selenium.Chromium;
using OpenQA.Selenium.IE;
using OpenQA.Selenium.Safari;
[assembly:CollectionBehavior(MaxParallelThreads = 16)]
namespace SeleniumStudy.Test
{
public class DriverTest
{
[Fact]
public async Task Edge_Test()
{
WebDriver driver = new EdgeDriver("./BrowserDriver/EdgeDriver");
// Navigate to Bing
driver.Url = "https://cn.bing.com/";
// Find the search box and query for webdriver
var element = driver.FindElement(By.Id("sb_form_q"));
element.SendKeys("webdriver");
element.SendKeys(Keys.Enter);
await Task.Delay(1000);
driver.Quit();
}
[Fact]
public async Task Firefox_Test()
{
//FirefoxDriver driver = new FirefoxDriver();
WebDriver driver = new FirefoxDriver("./BrowserDriver/GeckoDriver");
// Navigate to Bing
driver.Url = "https://cn.bing.com/";
// Find the search box and query for webdriver
var element = driver.FindElement(By.Id("sb_form_q"));
element.SendKeys("webdriver");
element.SendKeys(Keys.Enter);
await Task.Delay(1000);
driver.Quit();
}
[Fact]
public async Task Chrome_Test()
{
//WebDriver driver = new ChromeDriver();
ChromeDriver driver = new ChromeDriver("./BrowserDriver/ChromeDriver");
// Navigate to Bing
driver.Url = "https://cn.bing.com/";
// Find the search box and query for webdriver
var element = driver.FindElement(By.Id("sb_form_q"));
element.SendKeys("webdriver");
element.SendKeys(Keys.Enter);
await Task.Delay(1000);
driver.Quit();
}
}
}

@ -0,0 +1 @@
global using Xunit;

@ -0,0 +1,64 @@
<Project Sdk="Microsoft.NET.Sdk">
<PropertyGroup>
<TargetFramework>net8.0</TargetFramework>
<ImplicitUsings>enable</ImplicitUsings>
<Nullable>enable</Nullable>
<IsPackable>false</IsPackable>
<IsTestProject>true</IsTestProject>
<Platforms>AnyCPU;x86;x64</Platforms>
</PropertyGroup>
<ItemGroup>
<PackageReference Include="Microsoft.NET.Test.Sdk" Version="17.8.0" />
<PackageReference Include="Selenium.Firefox.WebDriver" Version="0.27.0" />
<PackageReference Include="Selenium.WebDriver" Version="4.17.0" />
<PackageReference Include="Selenium.WebDriver.ChromeDriver" Version="121.0.6167.8500" />
<PackageReference Include="Selenium.WebDriver.GeckoDriver" Version="0.34.0" />
<PackageReference Include="Selenium.WebDriver.GeckoDriver.Win64" Version="0.34.0" />
<PackageReference Include="Selenium.WebDriver.IEDriver" Version="4.14.0" />
<PackageReference Include="Selenium.WebDriver.MSEdgeDriver" Version="120.0.2210.144" />
<PackageReference Include="xunit" Version="2.6.6" />
<PackageReference Include="xunit.runner.visualstudio" Version="2.5.6">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
<PackageReference Include="coverlet.collector" Version="6.0.0">
<IncludeAssets>runtime; build; native; contentfiles; analyzers; buildtransitive</IncludeAssets>
<PrivateAssets>all</PrivateAssets>
</PackageReference>
</ItemGroup>
<ItemGroup>
<None Update="BrowserDriver\ChromeDriver\chromedriver.exe">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="BrowserDriver\ChromeDriver\chromedriver32.exe">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="BrowserDriver\EdgeDriver\edgedriver_win32.zip">
<CopyToOutputDirectory>Never</CopyToOutputDirectory>
</None>
<None Update="BrowserDriver\EdgeDriver\msedgedriver.exe">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="BrowserDriver\EdgeDriver\msedgedriver32.exe">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="BrowserDriver\GeckoDriver\geckodriver.32.exe">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="BrowserDriver\GeckoDriver\geckodriver.exe">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
<None Update="BrowserDriver\GeckoDriver\geckodriver32.exe">
<CopyToOutputDirectory>PreserveNewest</CopyToOutputDirectory>
</None>
</ItemGroup>
<ItemGroup>
<Folder Include="BrowserDriver\EdgeDriver\" />
</ItemGroup>
</Project>

@ -0,0 +1,42 @@

Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.9.34518.117
MinimumVisualStudioVersion = 10.0.40219.1
Project("{9A19103F-16F7-4668-BE54-9A1E7A4F7556}") = "SeleniumStudy.Test", "SeleniumStudy.Test\SeleniumStudy.Test.csproj", "{28241E3F-9CCC-4F4A-AED9-F88175310FE3}"
EndProject
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "docs", "docs", "{9F78E99A-3BD8-4D26-866F-C927E65EEC01}"
ProjectSection(SolutionItems) = preProject
docs\WebDriver下载.md = docs\WebDriver下载.md
EndProjectSection
EndProject
Global
GlobalSection(SolutionConfigurationPlatforms) = preSolution
Debug|Any CPU = Debug|Any CPU
Debug|x64 = Debug|x64
Debug|x86 = Debug|x86
Release|Any CPU = Release|Any CPU
Release|x64 = Release|x64
Release|x86 = Release|x86
EndGlobalSection
GlobalSection(ProjectConfigurationPlatforms) = postSolution
{28241E3F-9CCC-4F4A-AED9-F88175310FE3}.Debug|Any CPU.ActiveCfg = Debug|Any CPU
{28241E3F-9CCC-4F4A-AED9-F88175310FE3}.Debug|Any CPU.Build.0 = Debug|Any CPU
{28241E3F-9CCC-4F4A-AED9-F88175310FE3}.Debug|x64.ActiveCfg = Debug|x64
{28241E3F-9CCC-4F4A-AED9-F88175310FE3}.Debug|x64.Build.0 = Debug|x64
{28241E3F-9CCC-4F4A-AED9-F88175310FE3}.Debug|x86.ActiveCfg = Debug|Any CPU
{28241E3F-9CCC-4F4A-AED9-F88175310FE3}.Debug|x86.Build.0 = Debug|Any CPU
{28241E3F-9CCC-4F4A-AED9-F88175310FE3}.Release|Any CPU.ActiveCfg = Release|Any CPU
{28241E3F-9CCC-4F4A-AED9-F88175310FE3}.Release|Any CPU.Build.0 = Release|Any CPU
{28241E3F-9CCC-4F4A-AED9-F88175310FE3}.Release|x64.ActiveCfg = Release|x64
{28241E3F-9CCC-4F4A-AED9-F88175310FE3}.Release|x64.Build.0 = Release|x64
{28241E3F-9CCC-4F4A-AED9-F88175310FE3}.Release|x86.ActiveCfg = Release|x86
{28241E3F-9CCC-4F4A-AED9-F88175310FE3}.Release|x86.Build.0 = Release|x86
EndGlobalSection
GlobalSection(SolutionProperties) = preSolution
HideSolutionNode = FALSE
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
SolutionGuid = {A5968503-4051-4BF5-9206-05A87738B08B}
EndGlobalSection
EndGlobal

@ -0,0 +1,32 @@
# Selenium+WebDriver 各浏览器驱动下载与使用
原理:.Net程序 --> Selenium类库 --> 各浏览器WebDriver(独立可执行exe程序) --> 本机安装的各浏览器(安装程序)注意WebDriver与本机安装的浏览器版本要保持一致。
+ Firefox(火狐)浏览器驱动
[下载地址](https://github.com/mozilla/geckodriver/releases/)
+ Chrome(google)浏览器驱动
[下载地址](http://chromedriver.storage.googleapis.com/index.html)
+ IE浏览器驱动
[下载地址](http://selenium-release.storage.googleapis.com/index.html)
+ Microsoft Edge (EdgeHTML)浏览器驱动
[下载地址](https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/)
+ Microsoft Edge (Chromium)浏览器驱动
[下载地址](https://developer.microsoft.com/en-us/microsoft-edge/tools/webdriver/)
+ Opera浏览器驱动
可惜的是Selenium4开始,官方不在默认支持Opera, .NET环境下已无类库Opera官方出的示例只有Python版。Opera可以用Chrome代替基本一致。
[下载地址](https://github.com/operasoftware/operachromiumdriver/releases)
+ Safari 浏览器驱动
该浏览器不用下载驱动,可以直接执行代码
Loading…
Cancel
Save