GVKun编程网logo

Scalatest PlusPlay Selenium无法调整窗口大小(scala playframework)

19

本文将为您提供关于ScalatestPlusPlaySelenium无法调整窗口大小的详细介绍,我们还将为您解释scalaplayframework的相关知识,同时,我们还将为您提供关于asp.net

本文将为您提供关于Scalatest PlusPlay Selenium无法调整窗口大小的详细介绍,我们还将为您解释scala playframework的相关知识,同时,我们还将为您提供关于asp.net-mvc – HiddenInput(DisplayValue = false)] vs [ScaffoldColumn(false)]、CentOS7 install chromium and flash player plugin、CSS FlexBox - 调整窗口大小时图像未调整大小、Docker,Django和Selenium-Selenium无法连接的实用信息。

本文目录一览:

Scalatest PlusPlay Selenium无法调整窗口大小(scala playframework)

Scalatest PlusPlay Selenium无法调整窗口大小(scala playframework)

已经研究了一段时间,我似乎找不到使用scalatest plus调整窗口大小的方法。

我找到在线搜索的唯一方法或http://doc.scalatest.org/2.1.5/index.html#org.scalatest.selenium.WebBrowser上的文档

是executeScript(“ window.resizeTo(700,700);”)

但这对我没有反应(没有错误,没有任何反应)。有没有一种方法可以解决我所缺少的问题?我的代码的简要示例:

import java.util.concurrent.TimeUnitimport org.scalatestplus.play._import org.openqa.selenium._import com.sun.xml.internal.bind.v2.TODOimport scala.collection.JavaConverters._import controllers.Applicationimport models.{Item, ItemPriorityBucket}import play.api.test._import org.scalatest.time._class WebSpec extends PlaySpec with OneServerPerSuite with AllBrowsersPerTest {  implicit override val patienceConfig =    PatienceConfig(timeout = scaled(Span(5, Seconds)), interval = scaled(Span(20, Millis)))  override lazy val browsers = Vector(//    FirefoxInfo(firefoxProfile),    ChromeInfo//    SafariInfo  )  implicit override lazy val app: FakeApplication =    FakeApplication(additionalConfiguration = TestUtil.inMemoryDatabase("default", Map()))  val base: String = "http://localhost:" + port  def sharedTests(browser: BrowserInfo) = {    "Home page" should {      "render an item" + browser.name in {        executeScript("window.resizeTo(700,700);")        Item.deleteAll()        delete all cookies        val itemId = TestUtil.createRandomItem(Some(ItemPriorityBucket.Low), Some(Application.ENGLISH))        val item = Item.find(itemId).get        go to (base + "/")        eventually { assert(cssSelector(Selectors.all_items).webElement.isDisplayed) }      }    }  }

我的测试之一将根据窗口大小看到不同的元素,因此这是我需要控制的东西,但是我在Scala中确实找不到任何帮助。

谢谢您的帮助,

编辑:我还应该提到使用执行脚本运行的其他脚本正在按预期运行,而不是调整大小窗口脚本

答案1

小编典典

通过添加以下代码行,我能够解决此问题:

webDriver.manage.window.setSize(new org.openqa.selenium.Dimension(1000, 600))

它不是很直观,因为我们必须显式访问隐式的webdriver,但是它可以工作。

asp.net-mvc – HiddenInput(DisplayValue = false)] vs [ScaffoldColumn(false)]

asp.net-mvc – HiddenInput(DisplayValue = false)] vs [ScaffoldColumn(false)]

什么是Exaclty ScaffoldColumn(false)和HiddenInput(displayValue = false)?

这两者之间的主要区别是什么?哪一个最好用?

谢谢!!!

解决方法

[ScaffoldColumn(false)]告诉Visual Studio在为视图生成模板时不支持列.创建新视图时,可以创建强类型视图.当你这样做Visual Studio询问你要使用什么模板(创建,编辑,列表等).如果您创建一个编辑/创建模板;例如,如果您将[ScaffoldColumn(false)]放在模型属性上,那么它将不会在模板中生成displayFor()或EditorFor()调用,因此它不会包含在视图中.

[HiddenInput]会告诉displayFor / EditorFor方法,它应该为该值创建一个隐藏的html字段.当您发布到表单时,它将被包含在值中,但当人们看到它时,它将被视为“隐藏”.

CentOS7 install chromium and flash player plugin

CentOS7 install chromium and flash player plugin

1.打开终端,切换至root用户

2.运行 yum install chromium

3.进入adobe官网下载地址https://get.adobe.com/cn/flashplayer/?no_redirect,下载flash_player_ppapi_linux.x86_64.tar.gz文件

4.将压缩文件中的manifest.json,libpepflashplayer.so文件复制到/usr/lib64/chromium-browser/PepperFlash文件夹下

5.重启chromium,输入chrome://plugins/,进入插件管理页面,勾选Adobe Flash Player中的始终允许运行chromium可以加载flash插件了

 

CSS FlexBox - 调整窗口大小时图像未调整大小

CSS FlexBox - 调整窗口大小时图像未调整大小

如何解决CSS FlexBox - 调整窗口大小时图像未调整大小?

在我的代码中,我使用 CSS FlexBox 将多个图像放在一行中。我在 rem 中指定了图像大小,而不是 % 因为当我使用 % 时,在调整窗口大小后,一行中的图像数量保持不变,我不想要那样。相反,我希望当屏幕尺寸小于图像尺寸时,图像会根据屏幕尺寸调整其尺寸,并且每行只保留一个图像。

我面临的问题是,当我将窗口大小调整为小于图像大小时,整个图像不可见。我希望图像相应地缩小。

html{
    font-size:12px;
}

#heading{
    font-size:1.5rem;
    text-align:justify;
    width:80%;
    margin:auto;
    word-spacing:0.5rem;
    color:lightslategrey;
    margin-top:2rem;
    margin-bottom:3rem;
}

#gallery_header{
    width:80%;
    margin-left:auto;
    margin-right:auto;
    color:blue;
    font-size:3rem;
    text-align:center;
    margin-bottom:2rem;
}

#gallery{
    display:flex;
    flex-direction:row;
    flex-wrap:wrap;
    justify-content:space-evenly;
    width:80%;
    margin:auto;
}

.img_container{
    width:35rem;
    height:30rem;
    display:inline-block;
}

.img_container img{
    width:35rem;
    height:30rem;
    display:inline-block;
}

main{
    display:flex;
    width:100%;
    flex-direction:column;
    align-items:center;
}
<!DOCTYPE html>
<html lang="en">
    <head>
          <link rel="stylesheet" type="text/css" href="styles.css">
          <Meta name="viewport" content="width=device-width,initial-scale=1,minimum-scale=1">
    </head>
    <body>
    <div id="heading">
        Lorem ipsum dolor sit amet,consectetur adipiscing elit,sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam,quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident,sunt in culpa qui officia deserunt mollit anim id est laborum.
    </div>  
    <div id="gallery_header">
        IMAGE galLERY
    </div>
    <div id="gallery">
        <div>
            <img src="image/Picture1.png">
        </div>
        <div>
            <img src="image/Picture1.png">
        </div>
        <div>
            <img src="image/Picture2.png">
        </div>
        <div>
            <img src="image/Picture2.png">
        </div>
        <div>
            <img src="image/Picture1.png">
        </div>
        <div>
            <img src="image/Picture1.png">
        </div>
        <div>
            <img src="image/Picture2.png">
        </div>
        <div>
            <img src="image/Picture2.png">
        </div>
        <div>
            <img src="image/Picture1.png">
        </div>
        <div>
            <img src="image/Picture1.png">
        </div>
        <div>
            <img src="image/Picture2.png">
        </div>
        <div>
            <img src="image/Picture2.png">
        </div>
        <div>
            <img src="image/Picture1.png">
        </div>
        <div>
            <img src="image/Picture1.png">
        </div>
        
    </div>
    <script src="script.js"></script>
    </body>
</html>

解决方法

将以下代码添加到您的 CSS

@media (max-width: 767px){
  .img_container{
    height: 30rem;
    display: inline-block;
    width: 100%;
  }
  
  .img_container img{
    width: 100%;
    height: 30rem;
    display: inline-block;
  }
}

Docker,Django和Selenium-Selenium无法连接

Docker,Django和Selenium-Selenium无法连接

我已经将Docker配置为使用docker-compose.yml运行Postgres和Django,并且工作正常。

我遇到的麻烦是Selenium无法连接到Django liveserver。

现在(至少对我而言),django必须访问selenium才能控制浏览器,而selenium必须访问django才能访问服务器。

我已经尝试从此处使用docker-
compose.yml的以下配置使用docker’大使’模式:https
:
//github.com/docker/compose/issues/666

postgis:
  dockerfile: ./docker/postgis/Dockerfile
  build: .
  container_name: postgis

django-ambassador:
  container_name: django-ambassador
  image: cpuguy83/docker-grand-ambassador
  volumes:
    - "/var/run/docker.sock:/var/run/docker.sock"
  command: "-name django -name selenium"

django:
  dockerfile: ./docker/Dockerfile-dev
  build: .
  command: python /app/project/manage.py test my-app
  container_name: django
  volumes:
    - .:/app
  ports:
    - "8000:8000"
    - "8081:8081"
  links:
    - postgis
    - "django-ambassador:selenium"
  environment:
    - SELENIUM_HOST=http://selenium:4444/wd/hub

selenium:
  container_name: selenium
  image: selenium/standalone-firefox-debug
  ports:
    - "4444:4444"
    - "5900:5900"
  links:
    - "django-ambassador:django"

当我检查http:// DOCKER-MACHINE-IP:4444 / wd / hub / static / resource /
hub.html时,

我可以看到Firefox启动了,但是由于Firefox无法连接到Django,所有测试都失败了

'Firefox can't establish a connection to the server at localhost:8081'

我也在这里https://github.com/docker/compose/issues/1991尝试了此解决方案,
但是这不起作用,因为我无法让django同时连接到Postgis和Selenium

'django.db.utils.OperationalError: could not translate host name "postgis" to address: Name or service not known'

我尝试使用下面列出的网络功能

postgis:
  dockerfile: ./docker/postgis/Dockerfile
  build: .
  container_name: postgis
  net: appnet

django:
  dockerfile: ./docker/Dockerfile-dev
  build: .
  command: python /app/project/manage.py test foo
  container_name: django
  volumes:
    - .:/app
  ports:
    - "8000:8000"
    - "8081:8081"
  net: appnet
  environment:
    - SELENIUM_HOST=http://selenium:4444/wd/hub

selenium:
  container_name: selenium
  image: selenium/standalone-firefox-debug
  ports:
    - "4444:4444"
    - "5900:5900"
  net: appnet

但结果是一样的

'Firefox can't establish a connection to the server at localhost:8081'

那么我怎样才能使selenium连接到Django?

我已经玩了好几天了-非常感谢您的帮助。

更多信息

另一个怪异的事情是,如果我运行./manage.py test foo,那么当测试服务器运行时 使用docker
(使用我的virtualenv等旧配置)时,我可以通过http://
localhost:8081上的
任何浏览器访问服务器,并且获取提供的网页,但是如果我在docker下运行等效命令,则无法访问测试服务器。这很奇怪,因为我正在映射端口8081:8081-这与之相关吗?

注意:我正在使用OSX和Docker v1.9.1

我们今天的关于Scalatest PlusPlay Selenium无法调整窗口大小scala playframework的分享就到这里,谢谢您的阅读,如果想了解更多关于asp.net-mvc – HiddenInput(DisplayValue = false)] vs [ScaffoldColumn(false)]、CentOS7 install chromium and flash player plugin、CSS FlexBox - 调整窗口大小时图像未调整大小、Docker,Django和Selenium-Selenium无法连接的相关信息,可以在本站进行搜索。

本文标签:

上一篇StaleElementReferenceException: element is not attached to the page document while selecting the options from multiple Dropdowns using Selenium Python

下一篇selenium:元素不可点击(selenium元素不可点击)