当前位置: 首页 > news >正文

网站建设数据安全分析Wordpress的htaccess在哪

网站建设数据安全分析,Wordpress的htaccess在哪,电商营销的策略与方法,网站空间速度快selenium并行到目前为止#xff0c;Selenium是最常用的Web自动化测试工具。 如此受欢迎的原因之一是Selenium的自动跨浏览器测试功能。 Selenium自动化测试可以帮助您在所有主要浏览器#xff0c;所有主要操作系统甚至移动设备浏览器上进行测试。 您可以在所有功能测试中获得… selenium并行 到目前为止Selenium是最常用的Web自动化测试工具。 如此受欢迎的原因之一是Selenium的自动跨浏览器测试功能。 Selenium自动化测试可以帮助您在所有主要浏览器所有主要操作系统甚至移动设备浏览器上进行测试。 您可以在所有功能测试中获得广泛的浏览器覆盖从而确保为广大潜在用户提供完美的体验。 但是这是一个挑战。 您只能在本地计算机上加载这么多不同的浏览器。 例如如果您有Windows计算机则无法在Safari浏览器上进行测试类似地如果您具有Mac计算机则将无法在IE或Edge浏览器上进行测试。 此外在一台计算机上运行测试是一个耗时的过程。 如果您有多台计算机为什么要一次测试一台呢 理想的方案是在具有不同浏览器环境的互连机器网络上进行测试该浏览器环境同时并行运行多个测试用例并将总测试时间减少数倍。 在这里我还包括了跨浏览器测试所花费的时间。 而这正是Selenium Grid的基础。 与Selenium WebDriver允许您以顺序方式执行自动跨浏览器测试不同 Selenium Grid设置将允许您在不同的浏览器/浏览器版本中同时运行测试用例。 什么是Selenium网格 在开始Selenium Grid设置之前有必要了解Selenium Grid的基础知识。 因此Selenium Grid基本上允许我们针对不同的浏览器在不同的操作系统上运行自动化测试。 而且这也是并行的。 Selenium自动化测试工具将帮助您更快地进行跨浏览器自动化测试并有效利用内部硬件。 Selenium Grid由两个概念组成 集线器它是Selenium Grid设置体系结构的中心用于管理测试机器的网络。 网络中只有一个集线器被分配给DesiredCapabilities测试操作系统浏览器浏览器版本然后集线器会找到与给定配置匹配的测试。 节点节点是执行先前在集线器上加载的测试的测试计算机。 可以有多个配置有不同操作系统和不同浏览器的节点。 节点在运行集线器的同一平台上运行不是强制性的。 配置Selenium Grid设置以并行执行的基础结构仅涉及两个步骤 创建中心。 定义节点并连接到该集线器。 使用命令提示符进行Selenium Grid设置 Selenium Grid设置的第一步是创建一个集线器。 您必须确保系统已安装Java Runtime EnvironmentJRE或更好的Java Development KitJDK。 尽管大多数人建议使用最新的JDK但我更喜欢早先经过测试和测试的版本例如JDK SE 08或09。如果愿意可以选择最新的版本。 以下是后续步骤– 下载并解压缩Selenium Standalone服务器JAR文件。 您可以从此处下载它们。 接下来打开命令提示符或终端然后导航到保存Selenium Standalone Server jar文件的目录。 运行命令“ java -jar selenium-server-standalone-3.141.59.jar -role hub”。 默认情况下此命令将在端口4444上启动Selenium Grid集线器。 您也可以通过定向到http// localhost4444 / grid / console来进行检查 。 由于已经创建了中心因此进行并行执行的Selenium Grid设置的下一步将涉及启动节点。 首先转到要在其中设置节点的其他计算机。 同样这些机器应具有JDK / JRE设置。 在节点机器上打开命令提示符或终端然后导航到保存浏览器驱动程序文件的目录。 输入以下命令以便在Selenium Grid设置中配置Chrome驱动程序以并行执行 。 “java -Dwebdriver.chrome.driver C:\chromedriver.exe -jar selenium-server-standalone- 3.141 . 59 .jar -role webdriver -hub http: //10.0.0.22:4444/grid/register -port 4546” 在上面的命令中我已将计算机IP以及集线器实际运行的端口4444一起使用。 我还选择了要我的节点注册的端口4546。 您可以选择任何空闲端口来注册节点。 同样您可以为其他浏览器注册其他节点。 例如这是将FirefoxGecko驱动程序和Internet Explorer驱动程序配置到Selenium Grid设置以并行执行的方法。 在Selenium Grid设置中配置FirefoxGecko驱动程序 “java -Dwebdriver.gecko.driver C:\geckodriver.exe -jar selenium-server-standalone- 3.141 . 59 .jar -role webdriver -hub http: //10.0.0.22:4444/grid/register -port 5566” 在Selenium Grid设置中配置IEInternet Explorer驱动程序 “java -Dwebdriver.ie.driver C:\IEDriverServer.exe -jar selenium-server-standalone- 3.141 . 59 .jar -role webdriver -hub http: //10.0.0.22:4444/grid/register -port 4547” 注意请确保为不同的节点选择不同的端口以与在端口4444上运行的单个集线器连接。此外在IE上运行测试之前请确保浏览器缩放正好是100否则可能显示错误。 您可以通过上面的命令注意到我们在端口4546上运行chrome驱动程序的第一个节点在端口5566上运行Firefox驱动程序的第二个节点在端口4547上运行IE浏览器的第三个节点。这是输出屏幕截图供进一步参考 现在我们已经配置了Selenium Grid设置下一步就是为您的跨浏览器测试套件执行Selenium自动化测试。 使用Selenium Grid执行自动化测试以并行执行 现在该进行一些自动化的跨浏览器测试了 我将运行一个自动化脚本演示Selenium Grid的并行执行。 该脚本将在ChromeFirefox和Internet Explorer上并行运行而ChromeFirefox和Internet Explorer在不同的端口上注册并附加到单个集线器。 这是我使用Selenium Grid执行自动化测试以在不同浏览器中并行执行的示例代码。 package DemoAutomation;   import java.net.MalformedURLException; import java.net.URL; import java.util.concurrent.TimeUnit;   import org.openqa.selenium.By; import org.openqa.selenium.Platform; import org.openqa.selenium.WebDriver; import org.openqa.selenium.ie.InternetExplorerDriver; import org.openqa.selenium.remote.CapabilityType; import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.remote.RemoteWebDriver; import org.testng.annotations.AfterMethod; import org.testng.annotations.BeforeMethod; import org.testng.annotations.DataProvider; import org.testng.annotations.Parameters; import org.testng.annotations.Test;    public class Selenium_MultiBrowser_Test { WebDriver driver; String nodeURL;     Parameters ({ Port }) BeforeMethod () public void setUp(String Port) throws MalformedURLException { if (Port.equalsIgnoreCase( 4546 )) { nodeURL http://10.0.0.22:4546/wd/hub ; System.out.println( Chrome Browser Initiated ); DesiredCapabilities capabilities DesiredCapabilities.chrome(); capabilities.setBrowserName( chrome ); capabilities.setPlatform(Platform.WINDOWS);             driver new RemoteWebDriver( new URL(nodeURL),capabilities);             driver.get( https://www.apple.com/ ); driver.manage().window().maximize(); driver.manage().timeouts().implicitlyWait( 10 , TimeUnit.SECONDS); }         else if (Port.equalsIgnoreCase( 5566 )) { nodeURL http://10.0.0.22:5566/wd/hub ; System.out.println( Firefox Browser Initiated ); DesiredCapabilities capabilities1 DesiredCapabilities.firefox(); capabilities1.setBrowserName( firefox ); capabilities1.setPlatform(Platform.WINDOWS);                 driver new RemoteWebDriver( new URL(nodeURL),capabilities1);                 driver.get( https://www.apple.com/ ); driver.manage().window().maximize(); driver.manage().timeouts().implicitlyWait( 10 , TimeUnit.SECONDS); }         else             if (Port.equalsIgnoreCase( 4547 )) { nodeURL http://10.0.0.22:4547/wd/hub ; System.out.println( Internet Browser Initiated ); DesiredCapabilities capabilities2 DesiredCapabilities.internetExplorer(); capabilities2.setBrowserName( internet explorer ); capabilities2.setCapability(InternetExplorerDriver.INTRODUCE_FLAKINESS_BY_IGNORING_SECURITY_DOMAINS, true ); capabilities2.setCapability(InternetExplorerDriver.IGNORE_ZOOM_SETTING, true ); capabilities2.setCapability(CapabilityType.ACCEPT_SSL_CERTS, true ); ignoreProtectedModeSettings capabilities2.setCapability( ignoreProtectedModeSettings , true ); nativeEvents capabilities2.setCapability( nativeEvents , false ); capabilities2.setCapability(InternetExplorerDriver.INITIAL_BROWSER_URL, ); capabilities2.setCapability(InternetExplorerDriver.LOG_LEVEL, DEBUG );                          capabilities2.setPlatform(Platform.WINDOWS);             driver new RemoteWebDriver( new URL(nodeURL),capabilities2);             driver.get( https://www.apple.com/ ); driver.manage().window().maximize(); driver.manage().timeouts().implicitlyWait( 10 , TimeUnit.SECONDS); } }     Test public void appleSite() throws InterruptedException { try {         driver.findElement(By.xpath( //*[id\ac-globalnav\]/div/ul[2]/li[3] )).click(); Thread.sleep( 2000 );  driver.findElement(By.cssSelector( #chapternav div ul li.chapternav-item.chapternav-item-ipad-air a figure )).click(); Thread.sleep( 2000 );  driver.findElement(By.linkText( Why iPad )).click(); Thread.sleep( 2000 ); }         catch (Exception e) { System.out.println(e.getMessage()); } }      AfterMethod () public void tearDown() { driver.quit(); System.out.println( Browser Closed ); } } 上面是用XML文件配置的Java类文件该XML文件包括在Java文件中传递的参数值并且还有助于创建一组可以并行运行的不同类。 ?xml version 1.0 encoding UTF-8 ? !DOCTYPE suite SYSTEM http://testng.org/testng-1.0.dtd suite thread-count 3 name BlogSuite parallel tests   test name Chrome Test parameter name Port value 4546 / classes class name DemoAutomation.Selenium_MultiBrowser_Test /       /classes /test   test name Firefox Test parameter name Port value 5566 / classes class name DemoAutomation.Selenium_MultiBrowser_Test /       /classes /test     test name Internet Explorer Test parameter name Port value 4547 / classes class name DemoAutomation.Selenium_MultiBrowser_Test /       /classes /test     /suite 输出画面 在上面的代码中我使用了DesiredCapabilities类该类将帮助您设置Selenium WebDriver的属性。 这些属性可用于配置要在其上运行脚本的浏览器实例例如Br​​owserName和BrowserVersion。 注意但是该脚本只能在测试计算机上当前安装的浏览器和浏览器版本上运行。 假设如果您尝试在Chrome 72上运行测试而测试计算机上仅安装了Chrome 74则脚本将显示错误。 当您选择与测试计算机的操作系统相比不同的操作系统时会发生相同的情况。 此外每次启动新的OS时在新的Mac和Windows环境中进行投资都是相当昂贵的。 因此如果您希望在不同的浏览器浏览器版本和操作系统上执行自动跨浏览器测试那么我建议您寻找一种可在云上提供Selenium Grid设置的工具例如LambdaTest。 在LambdaTest Selenium Grid Cloud上运行自动化测试 让我们尝试在LambdaTest Selenium Grid上运行相同的测试用例。 您可以使用LambdaTest 所需功能生成器来配置所需功能对象。 手动完成后这将节省您在Selenium Grid设置中花费的大量时间。 使用LambdaTest您只需要创建一个远程服务器在脚本中添加LambdaTest用户名访问密钥和Grid URL就可以了。 下面是TestNG框架中的Java代码在这种情况下会更有利 package lambdatest; import java.net.MalformedURLException; import java.net.URL;   import org.openqa.selenium.By; import org.openqa.selenium.JavascriptExecutor; import org.openqa.selenium.remote.DesiredCapabilities; import org.openqa.selenium.remote.RemoteWebDriver; import org.testng.annotations.AfterTest; import org.testng.annotations.BeforeTest; import org.testng.annotations.Test;    public class SampleTest { public String username enteryourusernamehere ; public String accesskey enteryourkeyhere ; public RemoteWebDriver driver null ; public String gridURL hub.lambdatest.com/wd/hub ; boolean status false ;  BeforeTest org .testng.annotations.Parameters(value{ browser , version , platform }) public void setUp(String browser, String version, String platform) throws Exception { DesiredCapabilities capabilities new DesiredCapabilities(); browserName capabilities.setCapability( browserName , browser); capabilities.setCapability( version , version); capabilities.setCapability( platform , platform); // If this cap isnt specified, it will just get the any available one capabilities.setCapability( build , Selenium Grid ); capabilities.setCapability( name , Sample Test ); capabilities.setCapability( network , true ); // To enable network logs capabilities.setCapability( visual , true ); // To enable step by step screenshot capabilities.setCapability( video , true ); // To enable video recording capabilities.setCapability( console , true ); // To capture console logs try { driver new RemoteWebDriver( new URL( https:// username : accesskey gridURL), capabilities); } catch (MalformedURLException e) { System.out.println( Invalid grid URL ); } catch (Exception e) { System.out.println(e.getMessage()); } }  Test public void testSimple() throws Exception { try {             driver.get( https://www.apple.com/ ); driver.manage().window().maximize();             driver.findElement(By.xpath( //*[id\ac-globalnav\]/div/ul[2]/li[3] )).click(); Thread.sleep( 2000 );  driver.findElement( By.cssSelector( #chapternav div ul li.chapternav-item.chapternav-item-ipad-air a )).click(); Thread.sleep( 2000 );  driver.findElement(By.linkText( Why iPad )).click(); Thread.sleep( 2000 );           } catch (Exception e) { System.out.println(e.getMessage()); } }    AfterTest public void tearDown() throws Exception { if (driver ! null ) { ((JavascriptExecutor) driver).executeScript( lambda-status status); driver.quit(); } } } 现在我们将使用包含Java文件中传递的参数值的XML文件运行该Java类文件并帮助创建一组不同的类使用这些类我们可以使用Selenium Grid执行自动化测试以在以下位置并行执行不同的配置。 ?xml version 1.0 encoding UTF-8 ? !DOCTYPE suite SYSTEM http://testng.org/testng-1.0.dtd suite thread-count 3 name BlogSuite parallel tests  test name FirefoxTest parameter name browser value firefox / parameter name version value 62.0 / parameter name platform value WIN8 / classes class name lambdatest.SampleTest / /classes /test  test name ChromeTest parameter name browser value chrome / parameter name version value 70.0 / parameter name platform value WIN10 / classes class name lambdatest.SampleTest / /classes /test  test name SafariTest parameter name browser value safari / parameter name version value 11.0 / parameter name platform value macos High Sierra / classes class name lambdatest.SampleTest / /classes /test   /suite 输出画面 现在我们已经成功地使用Selenium Grid执行了自动化测试可以在不同的浏览器以及不同的操作系统上并行执行而无需创建集线器并在不同端口上启动节点。 当测试在Selenium Grid上运行时您可以看到测试的实时视频流以及各种其他详细信息例如命令其中包括脚本传递的每个命令的屏幕截图以及引发的日志和异常。 您还可以创建自己的团队并以团队形式运行自动跨浏览器兼容性测试脚本。 这些测试结果对于团队中添加的每个成员都是可见的。 此外通过我们的单击集成您的队友可以将在跨浏览器测试期间发现的任何错误直接记录到JiraTrelloAsanaMantisGitHub等各种项目管理平台上。此外LambdaTest还与CI / CD集成与您的自动化测试工具例如CircleCIJenkinsTravisCI等互补的平台。请查看所有LambdaTest集成 。 结论 如果手动完成Selenium Grid设置可能会很困难。 如果Selenium Grid的主要目的是并行运行测试并在不同的配置上进行测试则可以在LambdaTest上执行相同的测试而无需花费时间和资源来创建Selenium Grid Hub和Selenium Grid节点。 因此请通过在此在线Grid上运行自动化测试来尝试一下并在注释框中告知我们有关使用LambdaTest的反馈的信息。 测试愉快 由 在LambdaTest担任自动化专家最近开始了专业之旅。 Java测试自动化中的Excel。 翻译自: https://www.javacodegeeks.com/2019/07/setup-selenium-grid-parallel-execution-different-browsers.htmlselenium并行
http://wiki.neutronadmin.com/news/83344/

相关文章:

  • 西安做网站朋朋wordpress次级目录ftp
  • 网站建设与技术团队网站免费源码大全无需下载
  • 好商网的网站可以做中英文切换吗自媒体写作平台
  • 怎样才能建设只是于自己的网站辽宁建设工程信息网专家入库
  • 高端网站设计官网百度软件市场
  • 做lol数据的网站北京网站建设公司华网制作作
  • 网站开发找聚脑网最快网站备案
  • 太原h5建站东昌府做网站
  • 建设咖啡厅网站的意义平顶山营销型网站建设
  • 长沙网站的优化沧州网站制作网站
  • 业网站制作网站建设设计猫和老鼠
  • 做网站的去哪找客户网上网站怎么做
  • 老薛主机做两个网站做个电商平台要多少钱
  • 做外贸的j交易网站东莞企业网站建设
  • 网站备案费用多少公司百度网站建设
  • 做网站感觉挣不到钱啊wordpress获取权限
  • 云南哪几个建网站公司阿里巴巴国际站介绍
  • 关于设计方面的网站wordpress 多人编辑
  • 电影网站做流量关于推动门户网站建设d
  • 增城新塘网站建设用自己的电脑做网站需要备案吗
  • 南通网站建设要多少钱专业做推广的公司
  • 华强北网站建设网络推广代理
  • 北京网站优化培训淘宝美工做兼职的网站
  • stm32做网站服务器网页设计与网站建设报告
  • 青岛工程建设监理公司网站网站建设与管理需要什么软件有哪些
  • 济南做公司网站需要多少钱公司网站建设费如何入账
  • 安顺住房和城乡建设部网站辽宁公司网站建设
  • ipv6网站建设东莞移动版wordpress主题
  • php商城网站建设多少钱游戏网站免费入口
  • 免费照片的网站模板wordpress上传附件