小编iam*_*hiv的帖子

NightwatchJS和WebdriverIO有什么区别?

正如标题所述,Nightwatch.js和Webdriver.io有什么区别?

看起来他们有相同的语法,并做几乎相同的事情.他们有什么不同?

我需要在它们之间做出选择.

nightwatch.js webdriver-io wdio-v4 wdio-v5

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

Node.js Selenium IPv6问题(SocketException协议系列不可用)

仅当我将ios驱动程序 jar作为Node.js子项生成时才会发生此错误.

错误是 java.net.SocketException: Protocol family unavailable

硒test.js:

var spawn = require('child_process').spawn;

var selenium = spawn('java', ['-jar', './ios-server-standalone-0.6.6-SNAPSHOT.jar', '-port', '4444']);
selenium.stderr.setEncoding('utf8');
selenium.stderr.on('data', function (data){
  console.log(data);
});
Run Code Online (Sandbox Code Playgroud)

webdriverjs-test.js(webdriverjs)

var webdriverjs = require('webdriverjs');
var options = {
    desiredCapabilities: {
        browserName: 'safari',
        platform: 'OS X 10.9',
        version: '7.1',
        device: 'iphone'
    }
};

webdriverjs
  .remote(options)
  .init()
  .end();
Run Code Online (Sandbox Code Playgroud)

通过创建上述文件重现此错误,在一个窗口中运行selenium-test.js,在另一个窗口中运行webdriverjs-test.js.你首先需要npm install webdriverjscurl -O http://ios-driver-ci.ebaystratus.com/userContent/ios-server-standalone-0.6.6-SNAPSHOT.jar

版本信息:

$ java version
java version "1.7.0_51"
Java(TM) SE Runtime Environment (build 1.7.0_51-b13)
Java HotSpot(TM) …
Run Code Online (Sandbox Code Playgroud)

javascript node.js selenium-webdriver

12
推荐指数
1
解决办法
855
查看次数

如何使用Selenium和Java获取完整网页的屏幕截图?

如何使用Selenium WebDriver 获取整个网页的截图(整页截图),而不仅仅是部分(从上到下)?

我的代码:(Java绑定)

System.setProperty("webdriver.chrome.driver","/home/alex/Downloads/chromedriver_linux64/chromedriver");
WebDriver driver = new ChromeDriver();
driver.get("http://google.com");
File scrFile = ((TakesScreenshot)driver).getScreenshotAs(OutputType.FILE);
FileUtils.copyFile(scrFile, new File(RESULT_FILENAME));
Run Code Online (Sandbox Code Playgroud)

关于如何解决这个问题的任何想法?

java selenium screenshot webdriver selenium-webdriver

11
推荐指数
4
解决办法
3万
查看次数

尝试运行Selenium Webdriver(WebdriverJS)的示例测试时出错

我试图在google_search_test.js位于的文件中运行示例测试\node_modules\selenium-webdriver\example.我使用的是WebdriverJS,只selenium-webdriver在我的系统中安装了NPM软件包.

我已在命令提示符中移动到该路径位置并运行以下命令: node google_search_test.js

我收到以下错误:

在此输入图像描述

错误描述:

Path\node_modules\selenium-webdriver\example>node google_search_test.js

Path\node_modules\selenium-webdriver\testing\index.js:184
exports.describe.skip = global.describe.skip;
                                       ^
TypeError: Cannot read property 'skip' of undefined
    at Object.<anonymous> (C:\Users\kanasra\Desktop\Jaguars\Automation Testing\N
odeJs\node_modules\selenium-webdriver\testing\index.js:184:40)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
    at Module.load (module.js:356:32)
    at Function.Module._load (module.js:312:12)
    at Module.require (module.js:364:17)
    at require (module.js:380:17)
    at Object.<anonymous> (C:\Users\kanasra\Desktop\Jaguars\Automation Testing\N
odeJs\node_modules\selenium-webdriver\example\google_search_test.js:24:12)
    at Module._compile (module.js:456:26)
    at Object.Module._extensions..js (module.js:474:10)
Run Code Online (Sandbox Code Playgroud)

javascript selenium node.js selenium-webdriver

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

Selenium chromeDriver 打开速度比直接在 chrome 浏览器中打开网站慢得多

我在打开网站时遇到了有关 Selenium Webdriver 速度的令人厌恶的问题。

我正在测试的网站是内部网站,因此您无法访问。为了详细描述我的问题,我将将该网站称为ABC

当我ABC在 Chrome 浏览器中输入 的 URL 时,只需要 1 秒钟即可打开该网站。

在 TestNG 中,我的 Selenium 客户端如下所示:

String ABC = "ABC'S URL";
String chromeDriverPath = "C:\\selenium\\chromedriver.exe" ;
System.out.println("start selenium");
File file = new File(chromeDriverPath);
System.setProperty("webdriver.chrome.driver",file.getAbsolutePath());
ChromeOptions options = new ChromeOptions();
options.addArguments("--start-maximized");
webDriver driver = new ChromeDriver(options);
driver.get(ABC);
Run Code Online (Sandbox Code Playgroud)

然后,Chrome将由自动化测试软件控制。在足迹上,会有一个注释,写着waiting for staticxx.fackbook.com, 或waiting for www.facebook.com

1分钟后,ABC网站已成功加载。我检查F12工具并在控制台中显示staticxx.facebook.com/connect/xd_arbiter/r/0F7S7QWJ0Ac.js?version=42#channel=f38f3479a8af658&origin=http% Failed to load resource: the server responded with a status of 503 …

java testng selenium page-load-time selenium-webdriver

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

与React的Selenium E2E的新手

我创建了一个样板React项目,packages.json有通常的嫌疑:

  • 起动前
  • 开始
  • 名单
  • 测试
  • 等等

我正在使用Selenium作为我的E2E框架.我有以下测试:

it('should launch a browser', () => {

    const By = webDriver.By;
    let driver = new webDriver.Builder()
      .forBrowser('chrome')
      .build();

    // verify Continue button exist on page
    driver.navigate().to('http://localhost:3000').then(() => driver.findElement(By.id('submitButton')).getAttribute('value'))
      .then(buttonValue => expect(buttonValue).toEqual('Continue'));

  });
Run Code Online (Sandbox Code Playgroud)

如果我这样做npm start,我的网站将启动,我的E2E会启动一个额外的Chrome浏览器并导航到我的运行网站:localhost:3000.测试成功.

我的问题是,如何单独运行我的E2E,而不需要我的网站并排使用npm start.

我是React和Selenium的新手,如果我在这篇文章中遗漏了很多信息,我会事先道歉.

selenium mocha.js selenium-webdriver reactjs e2e-testing

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

Android StaggeredGrid RecyclerView 自动移动项目

我正在尝试使用Staggered Grid显示任何图片,但是出现了许多问题。

首先,当我拉到顶部时,它会移动项目,例如从左到右移动,或交换左右列。

见下文.gif

在此处输入图片说明

我已经通过谷歌搜索了这个问题的解决方案。我在我的项目中使用此代码:

StaggeredGridLayoutManager Layoutmanager = new StaggeredGridLayoutManager(3, OrientationHelper.VERTICAL);
manager.setGapStrategy(StaggeredGridLayoutManager.GAP_HANDLING_NONE);
recyclerView.setLayoutManager(manager);

recyclerView.addOnScrollListener(new RecyclerView.OnScrollListener() {
    @Override
    public void onScrollStateChanged(RecyclerView recyclerView, int newState) {
        super.onScrollStateChanged(recyclerView, newState);
        ((StaggeredGridLayoutManager)recyclerView.getLayoutManager()).invalidateSpanAssignments();
    }
});
Run Code Online (Sandbox Code Playgroud)

不幸的是,当我向上滚动时仍然出现严重的问题。该项目仍然会移动,即使我只是很快滚动,它也会滚动很远。

见下文.gif

在此处输入图片说明

我该如何处理这些问题,或者以其他方式达到这种效果?

主要活动:

public class MainActivity extends AppCompatActivity {

private DrawerLayout mDrawerLayout;

private photos[] photoses = {
        new photos("Tags:",R.drawable.timg),
        new photos("Tags:",R.drawable.timg1),
        new photos("Tags:",R.drawable.timg2),
        new photos("Tags:",R.drawable.timg3),
        new photos("Tags:",R.drawable.timg4),
        new photos("Tags:",R.drawable.timg5),
        new photos("Tags:",R.drawable.timg6),
        new photos("Tags:",R.drawable.timg7),
        new photos("Tags:",R.drawable.timg8),
        new photos("Tags:",R.drawable.timg9),
        new photos("Tags:",R.drawable.timg10),
        new photos("Tags:",R.drawable.timg11),
        new photos("Tags:",R.drawable.timg12),
}; …
Run Code Online (Sandbox Code Playgroud)

android android-recyclerview

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

ASP.NET Core 3 没有为该方案注册登录管理器

我一直在尝试将 Identity Server 4 合并到我的 ASP.NET Core 3 应用程序中,但不断收到以下错误:

没有为方案“Identity.Application”注册登录身份验证处理程序。

注册的登录方案有: Cookie。你忘记打电话了吗AddAuthentication().AddCookies("Identity.Application",...)?我不确定这个错误是什么意思。

我查看了这个SO问题,这篇(在ASP.NET Core中使用特定方案授权) MS .NET文章以及其他几篇文章,但没有一个有帮助。

我的Startup.cs

public void ConfigureServices(IServiceCollection services)
{
    var appSettingsSection = Configuration.GetSection("AppSettings");
    services.Configure<AppSettings>(appSettingsSection);

    var appSettings = appSettingsSection.Get<AppSettings>();
    var key = Encoding.ASCII.GetBytes(appSettings.Secret);

    services
        .AddAuthentication(x =>
        {
            x.DefaultScheme = CookieAuthenticationDefaults.AuthenticationScheme;
            x.DefaultChallengeScheme = JwtBearerDefaults.AuthenticationScheme;
        })
        .AddCookie(CookieAuthenticationDefaults.AuthenticationScheme) // , opt => opt.LoginPath = "/Identity"
        .AddJwtBearer(opt =>
        {
            opt.RequireHttpsMetadata = false;
            opt.SaveToken = true;
            opt.TokenValidationParameters = new TokenValidationParameters
            {
                ValidateIssuerSigningKey = true,
                IssuerSigningKey = …
Run Code Online (Sandbox Code Playgroud)

c# asp.net identityserver4

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

WebdriverIO-拍摄整页截图

我正在尝试使用WebdriverIO截取整个页面的屏幕截图。

我读过,最好的方法是使用WebdriverCSS增强我的WebdriverIO流。WebdriverCSS自动截图整个页面?

问题是WebdriverCSS对我不起作用。我认为是因为它尚未与兼容webdriverio@3.0.x

有什么办法可以使它起作用,或者可以使用其他解决方案?

我的代码:这是生产什么,但在回调中未定义的值

// Initialize WebdriverCSS for `client` instance
require('webdrivercss').init(driver, {
    // example options
    screenshotRoot: '../../screenshots',
    failedComparisonsRoot: '../../screenshots/diffs',
    misMatchTolerance: 0.05
});

// ...
// driver gets initialized and url opened
// ...

driver.webdrivercss('page', {
  name: 'body',
  elem: 'body'
}, function(err, res) {
  // here the values of err and res are always undefined
})
.saveScreenshot('../../screenshots/webdrivercsstest.png');
// the screenshot works, but it's not full page
Run Code Online (Sandbox Code Playgroud)

!EDIT: 这是Chromium中的一个已知BUG,很可能不会修复。请参阅此链接以获取更多详细信息。

selenium automated-tests selenium-webdriver webdriver-io wdio-v4

4
推荐指数
1
解决办法
4813
查看次数

AppleScript:如何在 Apple Notes 中自动创建新笔记

我正在尝试自动快速创建新笔记,并且Notes.app我想在单个浮动窗口中打开新创建的笔记。

这是我创建注释的代码:

set RunTime to ((current date)) as string
tell application "Notes"
    activate
    tell account "iCloud"
        make new note at folder "Notes" with properties {name:RunTime}
        --does not work
        --open document {name:RunTime}
    end tell
end tell
Run Code Online (Sandbox Code Playgroud)

有什么想法吗?

macos applescript

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