如何正确使用 addCustomRequestHeader

2023-12-02

我正在尝试将标题添加到我的HTTP请求特定的测试用例。这非常重要,因为我正在尝试测试要在手机中使用的应用程序。我设法找到了方法addCustomRequestHeader(String arg0, String arg1)。不幸的是,我似乎不知道如何正确使用它。

这是我的测试套件:

package testscripts;

import com.thoughtworks.selenium.DefaultSelenium;
import com.thoughtworks.selenium.SeleneseTestCase;
import com.thoughtworks.selenium.Selenium;

import org.junit.After;
import org.junit.Before;
import org.junit.Test;

public class TCNewspapers extends SeleneseTestCase {

    //Local parameters
    private static final String SELENIUM_SERVER_HOST = "localhost";
    private static final int SELENIUM_SERVER_PORT = 4444;
    private static final String NAVIGATOR = "*firefox";
    private String URL = "http://www.marca.com/";

    Selenium selenium;

    @Before
    public void setUp() throws Exception {
        super.setUp();

        selenium = new DefaultSelenium(SELENIUM_SERVER_HOST,
                SELENIUM_SERVER_PORT,
                NAVIGATOR,
                URL);

        setUp(URL, NAVIGATOR);

        //selenium.start();
        selenium.start("addCustomRequestHeader=true");
        //selenium.start("captureNetworkTraffic=true, addCustomRequestHeader=true");
        Thread.sleep(5000);
        selenium.windowMaximize();
    }

    @Test
    public void testOpenMarcaMobilePage() {

        selenium.addCustomRequestHeader("user-agent", "Mozilla/5.0 (iPhone;");
        selenium.open(URL);
        selenium.waitForPageToLoad("300000");
        verifyTrue(selenium.isTextPresent("Golf"));
    }

    @After
    public void stopClient () throws Exception {
        selenium.stop();
    }

}

测试用例正在通过,尽管“Golf”字符串不应出现在页面的移动版本中。检查导航器时,我发现我不在移动版本中。

另外,我收到此警告:

警告:getString(addCustomRequestHeader) 看到错误结果 OK

的文档addCustomRequestHeader方法说:

仅当浏览器配置为使用内置 Selenium 代理时才有效

我想这就是问题所在。知道我该怎么做吗?


我的出发点和你不同,但最终却得到了和你一样的结果; “如何向 selenium 添加请求标头”。我知道自从您发布最初的问题以来已经有一段时间了,所以这适合任何正在 Java 中寻找答案的人。这是我想出的一些代码,用于将请求标头添加到您的硒请求中JAVA:

public class MyTestCase extends SeleneseTestCase {

@Before
public void setUp() throws Exception {
    selenium = new DefaultSelenium("localhost", 4444, "*firefox", "http://localhost");
    selenium.start("addCustomRequestHeaders=true");
    selenium.open("/");
}


@Test
public void testMyTestCase() {
    selenium.addCustomRequestHeader("HEADER_NAME", "HEADER_VALUE");
    //header "HEADER_NAME", with "HEADER_VALUE" is now in your request
    selenium.click("link=Hello World");
}

}

Update您还必须使用“-addCustomRequestHeader”输入变量启动 selenium 服务器。例如:

%java_home%\bin\java -jar selenium-server-standalone-2.25.0.jar -addCustomRequestHeader
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何正确使用 addCustomRequestHeader 的相关文章

  • 无法解析类型为 xxx 的任何 bean;限定符:[@javax.enterprise.inject.Any()]

    我有一个 LoginProvider 接口 public interface LoginProvider boolean login String username String password 以及两种不同的实现 public clas
  • “_加载小部件时出现问题”消息

    加载小部件时 如果找不到资源或其他内容 则会显示 加载小部件时出现问题 就这样 惊人的 此消息保留在主屏幕上 甚至没有说明加载时遇到问题的小部件 我通过反复试验弄清楚了这一点 但我想知道发生这种情况时是否有任何地方可以找到错误消息 Andr
  • 如何使用 selenium 和 Mocha 获取 xPath() 选择的锚标记的文本

    我已经成功选择了 a 标签 我想显示锚标记的文本 但无法这样做 我正在使用 selenium mocha javascript 和 phantomJS 这是我的脚本 详细 var assert require assert var test
  • eclipse中导入项目文件夹图标

    我在 Eclipse 工作区中新导入的 Maven 项目有J and M项目文件夹顶部的图标 项目和包资源管理器 而其他导入的 Maven 项目只有一个J icon 有人可以解释其中的区别吗 该项目有J装饰器被称为 Java 项目和具有M装
  • 在文本文件中搜索单词并返回其频率

    如何在包含单词文本的文本文件中搜索特定单词并返回其频率或出现次数 使用扫描仪 String text Question how to search for a particular word in a text file containin
  • 如何在android中设置多个闹钟,在这种情况下最后一个闹钟会覆盖以前的闹钟

    我正在开发一个Android应用程序 用户可以在其中设置提醒时间 但我在以下代码中遇到一个问题 即最后一个警报会覆盖之前的所有警报 MainActivity java public void setreminders DatabaseHan
  • 在java中实现你自己的阻塞队列

    我知道这个问题之前已经被问过并回答过很多次了 但我只是无法根据互联网上找到的示例找出窍门 例如this http tutorials jenkov com java concurrency blocking queues html or t
  • Java:正则表达式排除空值

    在问题中here https stackoverflow com questions 51359056 java regexp for a separated group of digits 我得到了正则表达式来匹配 1 到 99 之间的一
  • Java 服务器-客户端 readLine() 方法

    我有一个客户端类和一个服务器类 如果客户端向服务器发送消息 服务器会将响应发送回客户端 然后客户端将打印它收到的所有消息 例如 如果客户端向服务器发送 A 则服务器将向客户端发送响应 1111 所以我在客户端类中使用 readLine 从服
  • 将表值参数与 SQL Server JDBC 结合使用

    任何人都可以提供一些有关如何将表值参数 TVP 与 SQL Server JDBC 一起使用的指导吗 我使用的是微软提供的6 0版本的SQL Server驱动程序 我已经查看了官方文档 https msdn microsoft com en
  • Java 数组的最大维数

    出于好奇 在 Java 中数组可以有多少维 爪哇language不限制维数 但是JavaVM规范将维度数限制为 255 例如 以下代码将无法编译 class Main public static void main String args
  • 获取给定类文件的目录路径

    我遇到的代码尝试从类本身的 class 文件所在的同一目录中读取一些配置文件 File configFiles new File this getClass getResource getPath listFiles new Filenam
  • Cloudfoundry:如何组合两个运行时

    cloundfoundry 有没有办法结合两个运行时环境 我正在将 NodeJS 应用程序部署到 IBM Bluemix 现在 我还希望能够执行独立的 jar 文件 但应用程序失败 APP 0 bin sh 1 java not found
  • Android Studio 将音乐文件读取为文本文件,如何恢复它?

    gameAlert mp3是我的声音文件 运行应用程序时 它询问我该文件不与任何文件类型关联 请定义关联 我选择TextFile错误地 现在我的音乐文件被读取为文本文件 我如何将其转换回music file protected void o
  • Espresso 和 Proguard 的 Java.lang.NoClassDefFoundError

    我对 Espresso 不太有经验 但我终于成功地运行了它 我有一个应用程序需要通过 Proguard 缩小才能处于 56K 方法之下 该应用程序以 3 秒的动画开始 因此我需要等到该动画结束才能继续 这就是我尝试用该方法做的事情waitF
  • 使用 Firefox 绕过弹出窗口下载文件:Selenium Python

    我正在使用 selenium 和 python 来从中下载某些文件web page http www oceanenergyireland com testfacility corkharbour observations 我之前一直使用设
  • 解析输入,除了 System.in.read() 之外不使用任何东西

    我很难找到具体的细节System in read 有效 也许有人可以帮助我 似乎扫描仪会更好 但我不允许使用它 我被分配了一个任务 我应该以 Boolean Operator Boolean 的形式读取控制台用户输入 例如T F 或 T T
  • JVM:是否可以操作帧堆栈?

    假设我需要执行N同一线程中的任务 这些任务有时可能需要来自外部存储的一些值 我事先不知道哪个任务可能需要这样的值以及何时 获取速度要快得多M价值观是一次性的而不是相同的M值在M查询外部存储 注意我不能指望任务本身进行合作 它们只不过是 ja
  • 嵌入式 Jetty - 以编程方式添加基于表单的身份验证

    有没有一种方法可以按如下方式以编程方式添加基于表单的身份验证 我用的是我自己的LdapLoginModule 最初我使用基本身份验证并且工作正常 但现在我想在登录页面上进行更多控制 例如显示徽标等 有没有好的样品 我正在使用嵌入式 jett
  • Android 和 Java 中绘制椭圆的区别

    在Java中由于某种原因Ellipse2D Double使用参数 height width x y 当我创建一个RectF在Android中参数是 left top right bottom 所以我对适应差异有点困惑 如果在 Java 中创

随机推荐

  • 删除 geom_text 中的重复标签

    我的数据如下所示 composerName season Location Time Venue eventType id conductorName interval movement workTitle 1 Anthem 1918 19
  • Magento 1.6,Google 购物/产品/内容

    Magento 1 6 于本周初发布 但使用 mage googleshopping 扩展 http www magentocommerce com magento connect Magento Core extension 6887 m
  • 编译 Play 应用程序时出现的问题

    我在编译 Play 框架应用程序时遇到了一些问题 有时应用程序运行良好 但大多数时候这些问题都是在 sbt 和 activator 工具中发生的 这是使用 sbt 编译我的应用程序的示例 info Compiling 15 Scala so
  • Objective C 类方法返回值,分配给弱/强属性

    我面临着一些涉及弱属性和强属性的困惑 为了简洁起见 我不会包含整个代码 我创建了一个返回 UIView 对象的类便捷方法 并在 UIView 类别中实现了它作为子类化的替代方法 implementation UIView CSMonthVi
  • 使用 CUT 和 Quartile 在 R 函数中生成中断

    下列的之前的一些很好的建议 我现在正在编写第二个 R 函数并使用类似的逻辑 然而 我正在尝试更多地自动化 但可能变得太聪明了 不利于我自己 我想根据订单数量将客户分成五分位数 这是我执行此操作的代码 sample data clientID
  • 如何在 apache Camel Rest api 中进行自定义错误处理?

    我有一个 apache Camel Rest api 它从 S3 下载文件 我发送 json 输入 key bucketname accessKey secretKey region 以便写入 URI 代码如下所示 public stati
  • vba 循环中出现类型不匹配错误

    我正在 Outlook VBA 中工作 并构建了一个 For Next 循环来读取 MailItems 的正文 其格式类似于 Key Value 对 在某种程度上 它似乎有效 但在第二次迭代结束时 当它到达 下一个项目 时 我收到抛出 类型
  • 阻止传出短信

    如果短信包含根据数据库过滤的单词 如何阻止传出短信 我可以监控发送的消息是否包含已过滤的单词 但我无法阻止短信 您无法停止手机上默认消息发送应用程序发送短信 为此 您必须创建自己的短信盒应用程序 然后才能向其中添加自定义功能
  • 如何使用 Bundle 在 Activity 之间传递 Uri 数组

    我需要将 Uri 数组传递给另一个活动 传递一个我简单使用的字符串数组 String images getImagesPathString Bundle b new Bundle b putStringArray images images
  • 如何向 UIToolBar 添加图像?

    我想将图像添加到用户无法与之交互的 UIToolBar 它本质上只是一个非交互式指示器 就像徽章一样 这可能吗 如果是这样 怎么办 创建一个UIBarButtonItem使用图像并添加它 Example UIBarButtonItem it
  • 处理按钮外部的点击事件

    我正在尝试通过重现 Apple AppStore 中的应用程序来练习 C 在应用程序中 有一个带有文本的矩形 Touch me 当您触摸它时 矩形会自行重新定位 执行此操作几次后 文本将更改为 不要碰我 在这种情况下 您必须触摸矩形之外 一
  • Pyspark 向数据帧添加顺序和确定性索引

    我需要向数据帧添加一个索引列 并具有三个非常简单的约束 从0开始 是连续的 具有确定性 我确信我错过了一些明显的东西 因为我发现的例子对于这样一个简单的任务来说看起来非常复杂 或者使用非顺序 非确定性越来越单调的 id 我不想使用索引进行压
  • 在 Swift 2 中对字典数组进行排序

    我读过很多关于SO的文章 但我仍然感到困惑 我有一系列字典 见下文 var myArray String AnyObject myArray append caseNumber 12349 formType Advanced caseSta
  • python 将本地时间字符串转换为 UTC 纪元时间戳

    我有 YMD hms 格式的字符串 其中删除了时区 但我知道他们现在是东部时间 有夏令时 我正在尝试将它们转换为 UTC 时间的纪元时间戳 我写了以下函数 def ymdhms timezone dst to epoch input str
  • Java Apache POI 打开文件? [关闭]

    Closed 这个问题不符合堆栈溢出指南 目前不接受答案 我有一个 Java 程序 可以编辑现有的 Excel 文件并将其另存为新文件 但是 我还希望程序在结束时自动打开新创建的文件 是否有 apache poi 命令可以让我执行此操作 由
  • Rails ActionMailer 中的 Net::SMTPAuthenticationError 502 5.5.2

    我正在尝试向用户发送确认电子邮件 但我收到以下错误 Net SMTPAuthenticationError 502 5 5 2 错误 命令无法识别 Production rb中的配置如下 Disable delivery errors ba
  • 原型声明和前向声明之间的区别?

    所以我有这个代码 class xx int getnum Is this a forward declaration or a prototype declaration and why int xx getnum return 1 3 所
  • 在 Ubuntu 14.10 中安装 OpenCV

    我正在尝试根据以下方法在 Ubuntu 14 10 中安装 OpenCV操作说明 我安装了所有提到的依赖项 但是当我尝试运行时make我收到这样的错误 home ilia opencv 2 4 8 modules highgui src f
  • JSON 插入 MySQL 表或更新(如果存在)

    这是继续插入 MySQL 表或更新 如果存在 但是这次我想更新mysql中的json条目 下面是架构 CREATE TABLE TAG COUNTER account varchar 36 NOT NULL time id INT NOT
  • 如何正确使用 addCustomRequestHeader

    我正在尝试将标题添加到我的HTTP请求特定的测试用例 这非常重要 因为我正在尝试测试要在手机中使用的应用程序 我设法找到了方法addCustomRequestHeader String arg0 String arg1 不幸的是 我似乎不知