首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >BackstopJS:无法滚动页面以使用scrollToSelector结束

BackstopJS:无法滚动页面以使用scrollToSelector结束
EN

Stack Overflow用户
提问于 2021-01-14 13:12:36
回答 1查看 355关注 0票数 1

我使用两个文件,一个保存所有URL和其他变量,另一个保存场景配置。

代码语言:javascript
复制
const projectId = "test"; // 

let baseUrl = "someurl"; // 
let scrollToSelector = "";
let removeSelector = "";

// Replace the values of the below array with the relative URLs of your website. E.g., "/about", "/contact", "/pricing", etc.
// Use just "/" to test the homepage of your website.
// Add as many relative URLs as you need.
const relativeUrls =[
  "/about",
  "/documentation",
  "/case-studies/",
  "/solutions/",
  "/blog/"
];

relativeUrls.map(relativeUrl => {
  if (relativeUrl === "/about") {
    scrollToSelector = "a.wp-block-button__link";
  removeSelector = ".is-style-image-banner"
   console.log(scrollToSelector);
  }
});


// Leave the below array as is if you want to test your website using the viewports listed below.
// The suported viewports are: phone (320px X 480px), tablet (1024px X 768px), and desktop (1280px X 1024px).
// No other viewports are supported.
// You can remove the viewports that you don't need, but at least one of them is required.
const viewports = [
  "phone",
  "tablet",
  "desktop",
];

module.exports = {
  baseUrl,
  projectId,
  relativeUrls,
  viewports,
  scrollToSelector,
  removeSelector
};

mainConfig.js

代码语言:javascript
复制
const THREE_SECONDS_IN_MS = 3000;
const scenarios = [];
const viewports = [];

basicConfig.relativeUrls.map(relativeUrl => {
  scenarios.push({
    label: relativeUrl,
    url: `${basicConfig.baseUrl}${relativeUrl}`,
    delay: THREE_SECONDS_IN_MS,
    requireSameDimensions: false,
    scrollToSelector: basicConfig.scrollToSelector,
    removeSelectors: [basicConfig.removeSelector]
    // onReadyScript:  "onReadyScript.js",
    // readyEvent: "page_loaded"
  });
});

basicConfig.viewports.map(viewport => {
  if (viewport === "phone") {
    pushViewport(viewport, 320, 480);
  }
  if (viewport === "tablet") {
    pushViewport(viewport, 1024, 768);
  }
  if (viewport === "desktop") {
    pushViewport(viewport, 1280, 1024);
  }
});

function pushViewport(viewport, width, height) {
  viewports.push({
    name: viewport,
    width,
    height,
  });
}

module.exports = {
  id: basicConfig.projectId,
  viewports,
  scenarios,
  paths: {
    bitmaps_reference: "test/backstop_data/bitmaps_reference",
    bitmaps_test: "test/backstop_data/bitmaps_test",
    html_report: "test/backstop_data/html_report"
  },
  report: ["CI"],
  engine: "puppeteer",
  engineOptions: {
    args: ["--no-sandbox"]
  },
  asyncCaptureLimit: 5,
  asyncCompareLimit: 50,
};

scrollToSelector似乎不起作用。还有什么其他的方法应该声明和调用。

EN

回答 1

Stack Overflow用户

发布于 2021-07-09 10:56:21

你的scrollToSelector必须是长方形的[],就像scrollToSelector: ['.a.wp-block-button__link']一样

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65719643

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档