小编Shu*_*ain的帖子

尝试从intelliJ启动Selenium服务器时,jar文件无效或损坏

我正在尝试从intelliJ启动我的硒服务器,并且说文件已损坏。

我使用intelliJ来运行量角器测试,并且在运行inteliJ终端之前从中启动硒服务器。无论出于什么原因,它都说我的供selenium-server-standalone使用的jar文件已损坏。有没有办法解决这个问题,如果没有,有没有办法删除然后重新安装Selenium服务器?

C:\ Users \ pheonix.jones \ IdeaProjects \ attensity-q-protractor> webdriver-manager start [11:39:09] I / start-java -Dwebdriver.chrome.driver = C:\ Users \ pheonix.jones \ AppData \ Roaming \ npm \ node_modules \ protractor \ node_modules \ webdriver-manager \ selenium \ chromedriver_2.46.exe -Dwebdriver.gecko.driver = C:\ Users \ pheonix.jones \ AppData \ Roaming \ npm \ node_modules \ pro tractor \ node_modules \ webdriver-manager \ selenium \ geckodriver-v0.24.0.exe -jar C:\ Users \ pheonix.jones \ AppData \ Roaming \ npm \ node_modules \ protractor …

selenium jasmine angularjs selenium-webdriver protractor

20
推荐指数
2
解决办法
7474
查看次数

为什么我可以在写入Linux时成功移动Linux文件?

我认为这个问题对于S/O来说足够技术,而且可能对于Android来说也是面向编程的.我对如何在Android(或Java或Linux,视情况而定)处理文件感到好奇,因为我用我的新智能手机做了一些事情,我很想知道它是如何发生的.

我正在通过蓝牙将文件从笔记本电脑传输到我的Android手机.我在文件资源管理器中看到了新文件,假设它已完全传输,因此将其/sdcard/bluetooth移至/sdcard/torrents.在我这样做之后,我注意到它实际上仍在被转移.令我惊讶的是,它已成功完成,通过电话上的通知图标确认,并通过双方手动MD5检查确认.在大多数系统中,文件移动会导致崩溃.

成功转移的原因是什么?我知道通常,文件路径与文件系统上的文件位置是分开的(在本例中是SD卡).我想蓝牙应用程序已经打开了文件的句柄,当我进行文件移动时,一个"打开文件"表被更新了一个新路径.这个功能通常适用于任何Linux系统吗?我可以mv对正在编写的文件执行操作,并希望副本 - 在新位置 - 是正确的吗?

java linux filesystems android

19
推荐指数
1
解决办法
8990
查看次数

Selenium错误:服务器没有响应url http:// localhost:7055

我正在使用Selenium,C#,NUnit编写测试,有时我得到以下错误: -

OpenQA.Selenium.WebDriverException:服务器没有响应url htt://lоcalhost:7055/hub/session/8dd13f5c-7ca6-4aa6-babc-f0ff6d940f0a/element

这是堆栈跟踪:

OpenQA.Selenium.WebDriverException:服务器对OpenQA.Selenium.Remote.HttpCommandExecutor.CreateResponse(WebRequest请求)中的url htt:// localhost:7055/hub/session/8dd13f5c-7ca6-4aa6-babc-f0ff6d940f0a/element没有响应c:\ Projects\WebDriver\trunk\dotnet\src\WebDriver\Remote\HttpCommandExecutor.cs:第115行,位于c:\ Projects\WebDriver\trunk\dotnet\src中的OpenQA.Selenium.Remote.HttpCommandExecutor.Execute(命令commandToExecute)\WebDriver\Remote\HttpCommandExecutor.cs:在c:\ Projects\WebDriver\trunk\dotnet\src\WebDriver\Firefox\Internal\ExtensionConnection.cs中的OpenQA.Selenium.Firefox.Internal.ExtensionConnection.Execute(命令commandToExecute)中的第96行:OpenQA.Selenium中的第128行.在OpenQA.Selenium的c:\ Projects\WebDriver\trunk\dotnet\src\WebDriver\Remote\RemoteWebDriver.cs:第795行中的OpenQA.Selenium.Remote.RemoteWebDriver.Execute(String driverCommandToExecute,Dictionary`2参数) .Remote.RemoteWebDriver.FindElement(字符串机制,字符串值)在c:\ Projects\WebDriver\trunk\dotnet\s中 rc\WebDriver\Remote\RemoteWebDriver.cs:第836行,位于c:\ Projects\WebDriver\trunk\dotnet\src\WebDriver\Remote\RemoteWebDriver.cs中的OpenQA.Selenium.Remote.RemoteWebDriver.FindElementById(String id):第431行at OpenQA.Selenium.By.<> c__DisplayClass2.b__0(ISearchContext context)位于c:\ Projects\WebDriver\trunk\dotnet\src\WebDriver\By.cs:第102行,位于OpenQA.Selenium.By.FindElement(ISearchContext context)在c:\ Projects\WebDriver\trunk\dotnet\src\WebDriver\By.cs:第272行的OpenQA.Selenium.Remote.RemoteWebDriver.FindElement(By by)in c:\ Projects\WebDriver\trunk\dotnet\src\WebDriver\Remote\RemoteWebDriver.cs:第289行

####.##.#####.#########.#####.ShareServicesTest.CreateShareWidget()

显示此错误的代码:

Driver.SwitchTo().Frame(frameElement);    
var wait = new WebDriverWait(parentContextable.Context.Driver, Timeout);
IWebElement element = wait.Until(d => Driver.FindElement(By.TagName(Tags.Body))); // error in this line
Run Code Online (Sandbox Code Playgroud)

我发现这个错误只能在这行Selenium实现代码中引发:

private static Response CreateResponse(WebRequest request)
        {
            Response commandResponse = new Response();

            HttpWebResponse webResponse = null;
            try
            {
                webResponse = (HttpWebResponse)request.GetResponse();
            }
            catch (WebException ex)
            {
                webResponse = (HttpWebResponse)ex.Response;
            }

            if (webResponse == …
Run Code Online (Sandbox Code Playgroud)

c# selenium nunit

15
推荐指数
1
解决办法
2万
查看次数

C#窗口定位

使用Windows窗体我想将窗口定位到特定的坐标.我认为它可以用一种简单的方式完成,但是下面的代码根本不起作用:

public Form1()
{
    InitializeComponent();

    this.Top = 0;
    this.Left = 0;
}
Run Code Online (Sandbox Code Playgroud)

但是,当只获取该窗口的句柄时,它运行良好:

public Form1()
{
    InitializeComponent();

    IntPtr hwnd = this.Handle;
    this.Top = 0;
    this.Left = 0;
}
Run Code Online (Sandbox Code Playgroud)

您可以看到我根本不使用该指针.我在MSDN上发现以下声明:

Handle属性的值是Windows HWND.如果尚未创建句柄,则引用此属性将强制创建句柄.

这是否意味着我们只能在创建其句柄后设置窗口位置?是否在内部使用此手柄设置了顶部/左侧?谢谢你的澄清.

c# positioning window-handles winforms

8
推荐指数
2
解决办法
2万
查看次数

如何在 Chrome 浏览器的 seleniumWebdriver 中设置代理身份验证

我正在尝试自动化 web 应用程序 selenium 2.0 [webdriver+java]。该 web 应用程序当前部署在我们本地网络上的 UAT 服务器中。我的测试用例正在执行,但我必须手动输入代理身份验证详细信息测试执行开始时的 Chrome 实例。我已经尝试了堆栈溢出时提供的所有解决方案,但仍然会弹出身份验证消息。

在此处输入图片说明

这是我在驱动程序初始化过程中使用的代码

包 com.misyn.ess.ui;

import java.util.Arrays;
import org.openqa.selenium.Proxy;
import org.openqa.selenium.WebDriver;
import org.openqa.selenium.chrome.ChromeDriver;
import org.openqa.selenium.chrome.ChromeOptions;
import org.openqa.selenium.remote.DesiredCapabilities;

/**
 *
 * @author User
 */
public class DriverClass {

    private String baseUrl;
    private String driverPath;
    private String driverName;
    private static WebDriver driver;
    private static DriverClass driverClass;

        private DriverClass() {
            try {
                baseUrl = "http://192.168.0.10:8282/ess";
                driverPath = "E:\\Work_Folder\\SelTools\\chromedriver.exe";
                driverName = "webdriver.chrome.driver";

                //Set the location of the ChromeDriver
            System.setProperty(driverName, driverPath);
            //Create a new desired …
Run Code Online (Sandbox Code Playgroud)

java selenium qa webdriver selenium-webdriver

7
推荐指数
1
解决办法
3万
查看次数

多线程 Selenium WebDriver 与 Selenium Grid

我是 Selenium 的新手,并且正在使用 Selenium 在维护会话的同时同时导航到同一网站的多个页面。我可以通过以下两种方式创建控制器:

  1. 控制器在多线程环境中启动Selenium WebDriver(每个线程 1 个驱动程序实例,因为 WebDriver 不是线程安全的。参考:Selenium Grid,如何使用 WebDriver 和 ThreadSafeSeleniumSessionStorage.session()
  2. 控制器使用Selenium Grid

我了解 Selenium Grid 通过使用集线器节点概念来支持分布式执行;但与选项 1 相比,我将获得哪些主要好处。

我看到有人使用选项 1,但面临一些问题。参考:Selenium 中没有网格的多个 WebDriver 实例?

是否建议在多线程环境中使用 Grid over Selenium WebDriver?如果是这样,为什么?此外,Selenium Grid 是否会负责清除其节点中的任何陈旧浏览器实例(开箱即用)?

java selenium multithreading selenium-grid selenium-webdriver

6
推荐指数
1
解决办法
8052
查看次数

如何设置 Appium UI 测试 maven 项目与 Gitlab CI 一起测试 Android App?

我现在是一名实习生,刚接触自动化测试。我的目标是帮助我的公司为客户端设置 CI。

现在我有一个 maven 项目,其中包含几个使用 Appium java-client lib 的测试,在 Eclipse IDE 下,它可以在本地运行 UI 测试。我下一步的目标是将我的测试与 gitlab 存储库(已经存在,由 android 开发人员创建)挂钩,但我被困在这里。有人可以帮我吗?请尽量具体:

  1. 我应该如何设置 .gitlab.yaml?
    • 我们可以在 yaml 中使用脚本来下载 Appium 和 maven 吗?
    • 或者我们可以只下载 Appium,但将所有 Appium java-client jars 导入到 main 中的 libs 中?
  2. 如果以上任何一个是真的,怎么办?如果两者都没有,我应该怎么做?
  3. 我应该把我的测试放在那个 repo 的 gitlab 中吗?或者我不必将我的测试放在现有的 repo 中。相反,我可以有另一个并告诉 yaml 去哪里?又如何?
  4. 如果您能帮助我完成工作流程,将会很有帮助。就像,当我开发人员签入代码时,gitlab 读取 yaml,然后构建,然后在 where(Q3) 中找到我的测试套件,然后执行等等。

提前谢谢了!

maven android-testing appium gitlab-ci

6
推荐指数
1
解决办法
2395
查看次数

Python Selenium Webdriver(名称'by'未定义)

我一直收到如下错误:

NameError:未定义名称"By"

代码

chrome_driver_path = r"C:\chromedriver.exe"
from selenium import webdriver
from selenium.webdriver.support import expected_conditions as EC
from selenium.webdriver.support.ui import WebDriverWait
browser = webdriver.Chrome(chrome_driver_path)
browser.delete_all_cookies()
browser.get("https://www.google.com/")
wait = WebDriverWait(browser, 10)
element = wait.until(EC.element_to_be_clickable((By.XPATH, '//*[@id="tsf"]/div[2]/div[3]/center/input[1]')))  
Run Code Online (Sandbox Code Playgroud)

我的导入是否正确?

python testing selenium selenium-webdriver

6
推荐指数
2
解决办法
5964
查看次数

无法从Keycloak获取oauth令牌

我有一个正在从Keycloak获取身份验证的应用程序。

我的访问类型是公开的,因此我没有任何客户机密。

我已将“ 启用直接访问授权 ”的访问权限设置为“ 开”

请参阅以下内容:

在此处输入图片说明

我收到来自邮递员的错误,如下所示:

{
    "error": "invalid_grant",
    "error_description": "Invalid user credentials"
}
Run Code Online (Sandbox Code Playgroud)

注意:我的凭据正确,因为我使用它来登录密钥库

我还检查了密钥,并且根据以下参考,它们似乎是正确的:

https://gist.github.com/rac021/623e4f4c87069acd0c38d952568f8a3d

虽然我已经按照我的理解进行了设置。

参考文献:

在此处输入图片说明

在此处输入图片说明

如果我有任何遗漏,或者您需要更多详细信息,请告诉我。

任何解决方法将不胜感激!!!!

postman keycloak

6
推荐指数
2
解决办法
8084
查看次数

Selenium-如何获取窗口中打开的选项卡数量?

我的测试用例:

  1. 打开浏览器并访问URL
  2. 单击主页上的链接->这将打开一个新窗口/新选项卡。
  3. 返回首页。
  4. 单击另一个链接。
  5. 确保新内容显示在步骤2中先前打开的子窗口/子选项卡上。

我可以通过获取窗口句柄数来检查打开的窗口数,并断言它等于2-以确保在单击第二个链接时,内容在同一子窗口上刷新,而不会打开另一个新窗口。

如果万一这些链接在新选项卡中打开,我如何检查此测试用例(第一次在首页上单击链接时打开了“新”选项卡。进一步单击主页上的任何链接时,将在同一新选项卡上刷新内容)?有没有一种方法可以计算窗口中的标签数?

还是硒强制将新选项卡作为新窗口打开?

java browser selenium window-handles selenium-webdriver

5
推荐指数
1
解决办法
8204
查看次数