Unresolved attribute reference 'switchTo' for class 'WebDriver' selenium pytest - pytest

while trying to read a message from the success message popup while writing a test case in pytest, I tried to use the following action method. but Pycharm shows an issue.
driver.switchTo().alert().getText();
issue : Unresolved attribute reference 'switchTo' for class 'WebDriver'

This is Java syntax, use
driver.switch_to.alert.text

Related

Unable to import Actor from cell.actors

from cell.actors import Actor
The above import produces an unresolved error in major IDEs like Pycharm.
Tried looking everywhere in the documentation of Celery/cell. The exact problem when ran in terminal looks as follows:
ImportError: cannot import name 'ipublish' from 'kombu.common'
As explained on their website, Cell is an actor framework for Kombu, a messaging library for Python.
I checked everywhere in source files cell/actors.py and kombu/common.py for the error and the files seemed to be correct and no error in code. Therefore, there must be some environmental mismatch problem.
Found a solution to the problem partially. Installing specifically python3.7.0 is making the unresolved reference errors go away in the IDE, but still unable to create Actor and import 'dAgent'. Looked into source files and 'dAgent' must have been changed to 'Agent' class.
Still, no resolution for this error, although importing these objects from source files and providing the same inputs solves the unresolved reference error. But, the main error from kombu still exists.

Unable to load a Suite class

Unable to load a Suite class. This could be due to an error in your runpath.
i am getting this error while trying to run scala test case. kindly suggest.
I have same error message as yours.
What I do is:
In your test run configuration(go "Edit Configuration" > "Use classpath ... of module") select the right module at place the image show.
At least this solve my problem that I target to wrong module. May it help you.
i solved the same problem by checking "Use SBT" option in test run configuration under Edit Configuration>Test Class

Strange cast exception in Groovy script

When I try to run my groovy script in Eclipse, I get a cast exception like:
org.codehaus.groovy.runtime.typehandling.GroovyCastException: Cannot cast object 'package.Config#6babd36b' with class 'package.Config' to class 'package.Config'
The exception occurs when I instantiate another object using the Config as parameter.
clazz.newInstance(config: config)
To me, this seems very odd. But perhaps someone out there can bring me an explanation?
I just want to add some information for this topic. Maybe somebody will find it useful.
I received same error then was trying to compile groovy script for using in multithread environment:
GroovyClassLoader groovyClassLoader = new GroovyClassLoader();
Class<? extends Script> clazz = groovyClassLoader.parseClass(groovyCode);
return clazz.newInstance();
But by default GroovyClassLoader are using ClassLoader of current thread:
Thread.currentThread().getContextClassLoader())
So, you can pickup one class loader and use it for all threads. Or avoid shared groovy stuff :)
Solved! :)
In the Eclipse run configuration, I looked at the argument tab and noticed that both source files and compiled class files was part of the classpath parameter:
--classpath "${workspace_loc:/groovyscripts}/src/main/groovy:...
...:${workspace_loc:/groovyscripts}/classes"
the above setting gives different classloaders for my config object (loaded from src/) and the target field (loaded from classes/)
groovy.lang.GroovyClassLoader$InnerLoader#7a06cf15
org.codehaus.groovy.tools.RootLoader#32728d
Removing the first reference to the source files resulted in a successful run. Classloaders after removal is ONLY RootLoader.
org.codehaus.groovy.tools.RootLoader#32728d
The answer is to remove the source from the classpath in arguments tab in Eclipse.

Failed to resolve class via deferred binding

// ...some imports
public class Menu {
final MenuMaker myClass = GWT.create(MenuMaker.class); // ERROR
My ...gwt.xml:
...
<generate-with class="com.gwt.rebind.MenuGenerator">
<when-type-assignable class="com.gwt.client.MenuMaker" />
</generate-with>
...
All work perfectly when I run compile in DevMode but when I "Build the project with the GWT compiler" I get this error:
[ERROR] Line 15: Failed to resolve 'com.gwt.client.MenuMaker' via deferred binding
Scanning for additional dependencies: jar:file:/C:/eclipse/plugins/com.google.gwt.eclipse.sdkbundle_2.4.0.v201208080121-rel-r42/gwt-2.4.0/gwt-user.jar!/com/google/gwt/dom/client/DOMImpl.java
[WARN] For the following type(s), generated source was never committed (did you forget to call commit()?)
[WARN] com.gwt.client.MenuMakerGen
[ERROR] Cannot proceed due to previous errors
At the end of com.gwt.rebind.MenuGenerator:
sourceWriter.commit(logger);
Check if all your client classes have default, zero-parameter constructor. I had the same "deferred binding" issue, and it turned out that one of my classes hadn't had default constructor. It was strange, because this class wasn't even mentioned in GWT compiler log.
Check for gwt-compile problems. The message
[ERROR] Line 15: Failed to resolve '...' via deferred binding
can result from compile problems in your gwt code. In my case it was a class, which was only available on the server side of the application, but was referenced in a class belonging to 'shared' part of the application.
In Java it compiled well, so I had no error in eclipse. The above error-message only showed up when building it with maven. Still it remained somewhat difficult to find the real problem, as the message text was not very helpful.
It turned out, that running the app on com.google.gwt.dev.DevMode would produce a more detailed logfile of the gwt-compilation (probably one could configure maven to do the same?).
Right at the beginning of this more detailed log, there were entries, which pointed me to the problem described above. After correcting these problems, the "Failed to resolve ... via deferred binding"-error was gone.
Check your model/ Pojo Class should implements Serializable
interface and also
Class have default constructor(No argument constructor).
In my case, some of the model classes were not implementing com.google.gwt.user.client.rpc.IsSerializable, that's why I got the error mentioned in the question.
In my case, a key in Resource Bundle properties file which corresponds the method name was missing and the problem resolved after adding it.

permanently hidden warning in scala application

I get the following warning whenever I start my Scala application:
WARN - imported `SVNProperties' is permanently hidden by definition of object SVNProperties in package core, at line 4 of app/core/SVNResource.scala
What could this mean?
You probably have code that looks something like this:
object Hidden {
import scala.collection.immutable
object immutable { def x = 7 }
}
except in a less obvious way. You're importing something--in my example, the package immutable--and then you go and define something else with the same name that prevents you from using what you imported.
In particular, it looks like you tried to import SVNProperties into SVNResource.scala, except that SVNResource.scala defines its own SVNProperties which hides the import.
I encountered this warning after moving some classes from one package to another. I guess there was some conflict between the new location and binaries from the old location. In my case this helped:
sbt clean
I got this warning when my class was importing classes in the same package.
Once I removed the unnecessary import, the warnings were removed.
This happened to me after moving a class from one package to another, like in astasiak's case. I ran sbt clean with no luck. For the life of me, I couldn't find the class in the old location.
However, I had other errors preventing me from building. When I fixed those, this error disappeared. My guess is that until you can build cleanly, sbt still thinks you have the class is in the old package, and includes this error with any other build errors that are preventing you from building.
My advice? Check for other compilation errors and fix those -- you might be erroneously getting this error due to sbt having an outdated view of your package structure since its last successful build.
Just to further expand on a comment posted by Nick, as this was the case for me:
Another common cause is that SVNProperties is in the same package and so is already in scope. Trying to import it explicitly results in this warning.
More concretely, you may have:
package app.core
// No need to import the following - it is already visible as
// you are in the same package
import app.core.SVNProperties
object SVNResource {
Use instead:
package app.core
object SVNResource {
(Opinion) As a matter of coding style you may want to camel case your variables differently like for eg. SvnProperties, SvnResource. It reads easier for most people, see also this question.
I had a main class with name Server and I was creating a jetty server in the main class in the following way.
import org.eclipse.jetty.server.Server
var server:Server=new Server()
I got the below warn on running sbt run
> [warn] /home/xxx/xxx/xxx/src/main/scala/com/xxx/xxx/main/Server.scala:3:
> imported `Server' is permanently hidden by definition of object Server in package main
[warn] import org.eclipse.jetty.server.Server
[warn] ^
[warn] one warning found
I renamed my main class and the warning disappeared.
If you are using Scala Eclipse IDE you can do :
Project > Clean...
After that all the warning will be removed.
Also, make sure the name of the package you import =/= object name.
I got this by having circular dependencies. Both my classes were using each other on accident.
If the warning comes from importing a class with the same name, you can always use import renaming.
package domain
case class Company (...
package models
import domain.{Company => _Company}
object Company extends SkinnyCRUDMapper[_Company] {
Issue is related to dependency conflict, When you have same class in multiple Jars compiler found one of class is hidden and gives an error.
check for your Jar version is same across project or try to change name/package for one of conflicted class